···
**Status:** In Development
+
**Last Updated:** 2025-10-16
···
## ⚠️ Alpha Blockers (Must Complete Before Alpha Launch)
### Critical Missing Features
- [ ] **Community Blocking:** Users can block communities from their feeds
- Lexicon: ❌ Need new record type (extend `social.coves.actor.block` or create new)
- Service: ❌ No implementation (`BlockCommunity()` / `UnblockCommunity()`)
···
- Repository: ❌ No methods
- **Impact:** Users have no way to hide unwanted communities
+
### ✅ Critical Infrastructure - RESOLVED (2025-10-16)
+
- [x] **✅ Subscription Indexing & ContentVisibility - COMPLETE**
+
- **Status:** Subscriptions now fully indexed in AppView with feed slider support
+
- **Completed:** 2025-10-16
+
1. ✅ Fixed critical collection name bug (`social.coves.actor.subscription` → `social.coves.community.subscription`)
+
2. ✅ Implemented ContentVisibility (1-5 slider) across all layers (handler, service, consumer, repository)
+
3. ✅ Production Jetstream consumer now running ([cmd/server/main.go:220-243](cmd/server/main.go#L220-L243))
+
4. ✅ Migration 008 adds `content_visibility` column with defaults and constraints
+
5. ✅ Atomic subscriber count updates (SubscribeWithCount/UnsubscribeWithCount)
+
6. ✅ DELETE operations properly handled (unsubscribe indexing)
+
7. ✅ Idempotent operations (safe for Jetstream event replays)
+
8. ✅ atProto naming compliance: singular namespace + `subject` field
+
- ✅ Users CAN subscribe/unsubscribe (writes to their PDS repo)
+
- ✅ AppView INDEXES subscriptions from Jetstream in real-time
+
- ✅ Can query user's subscriptions (data persisted with contentVisibility)
+
- ✅ Feed generation ENABLED (know who's subscribed with visibility preferences)
+
- ✅ Subscriber counts accurate (atomic updates)
+
- ✅ 13 comprehensive integration tests (subscription_indexing_test.go) - ALL PASSING
+
- ✅ Enhanced E2E tests verify complete flow (HTTP → PDS → Jetstream → AppView)
+
- ✅ ContentVisibility clamping tested (0→1, 10→5, defaults to 3)
+
- ✅ Idempotency verified (duplicate events handled gracefully)
+
- Implementation Doc: [docs/IMPLEMENTATION_SUBSCRIPTION_INDEXING.md](docs/IMPLEMENTATION_SUBSCRIPTION_INDEXING.md)
+
- Lexicon: [internal/atproto/lexicon/social/coves/community/subscription.json](internal/atproto/lexicon/social/coves/community/subscription.json)
+
- Consumer: [internal/atproto/jetstream/community_consumer.go](internal/atproto/jetstream/community_consumer.go)
+
- Connector: [internal/atproto/jetstream/community_jetstream_connector.go](internal/atproto/jetstream/community_jetstream_connector.go)
+
- Migration: [internal/db/migrations/008_add_content_visibility_to_subscriptions.sql](internal/db/migrations/008_add_content_visibility_to_subscriptions.sql)
+
- Tests: [tests/integration/subscription_indexing_test.go](tests/integration/subscription_indexing_test.go)
### Critical Security (High Priority)
- [x] **OAuth Authentication:** ✅ COMPLETE - User access tokens flow end-to-end