code
Clone this repository
https://tangled.org/bretton.dev/coves
git@knot.bretton.dev:bretton.dev/coves
For self-hosted knots, clone URLs may differ based on your setup.
- Add Post domain model with AppView database representation
- Add CreatePostRequest/Response for XRPC endpoint
- Add PostRecord for PDS write-forward
- Add Service and Repository interfaces
- Add error types (ValidationError, ContentRuleViolation)
- Add service implementation with PDS write-forward
- Add validation for content length, labels, at-identifiers
Part of Alpha post creation feature.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Complete implementation of community handle naming convention change
with comprehensive PR review fixes.
This merge includes:
- Critical bug fixes for identifier resolution
- Comprehensive test coverage (31 test cases, all passing)
- Database migration for .communities → .community transition
- Input validation and error handling improvements
- Support for self-hosted instances
All PR review comments addressed:
✅ GetDisplayHandle() bug fixed for multi-part domains
✅ Case sensitivity bug fixed in resolveScopedIdentifier
✅ Comprehensive input validation (DNS labels, domain format)
✅ 100% test coverage for new code
✅ Database migration script with rollback
✅ Improved error messages with identifier context
✅ NewPDSAccountProvisioner argument order corrected
✅ Removed hardcoded coves.social from tests
Test Results:
- 31 identifier resolution tests: PASS
- All integration tests: PASS
- E2E tests with real PDS: PASS
- Regression tests: PASS
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Update development environment configuration and Go module dependencies.
Changes:
- Update .env.dev with latest environment variables
- Update docker-compose.dev.yml configuration
- Run go mod tidy to clean up dependencies
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Update Product Requirements Document to document the singular
.community. naming convention.
Changes:
- Update handle format examples
- Document identifier resolution features
- Update API examples with new handle format
This ensures documentation matches the implemented handle format
and provides clear examples for developers.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Update all integration tests to use singular .community. naming convention
instead of .communities.
Tests updated:
- E2E community creation and XRPC endpoint tests
- HostedBy security validation tests
- Community provisioning tests
- Service integration tests
- V2 validation tests
- Token refresh tests
Changes:
- Update expected handle formats in assertions
- Update test fixtures to use new convention
- Ensure regex patterns match .community. format
All tests passing with new handle format.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Update PDS provisioning and Jetstream consumer to generate handles
using singular .community. instead of .communities.
Changes:
- PDSAccountProvisioner: Generate {name}.community.{domain} handles
- JetstreamConsumer: Parse and validate new handle format
- Update handle extraction logic for consistency
Example handle formats:
- gardening.community.coves.social
- gaming.community.coves.social
This maintains consistency with the lexicon schema update and aligns
with AT Protocol naming conventions.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>