PRD: MSC3706 Faster Joins Implementation
PRD: MSC3706 Faster Joins Implementation
Problem: Joining large federated rooms (e.g., #community:matrix.org with ~85,000 members) is extremely slow, taking minutes to complete. During this time, Element X shows an error and users cannot see the room.
Solution: Implement MSC3706 partial state joins to make rooms visible within seconds, with background sync fetching full member state asynchronously.
Detailed PRD: See prds/10-faster-joins-msc3706.md
Priority: Medium
Estimated Effort: 3-4 weeks total across 7 phases
Key Phases:
- Database Schema & Core Infrastructure (2-3 days)
- Federation Client Integration (2-3 days)
- Background State Sync Worker (5-7 days)
- Event State Resolution with Partial State (3-4 days)
- Sync API Integration (2-3 days)
- Server-Side omit_members Support (Optional, 1-2 days)
- Testing & Hardening (3-4 days)
Success Criteria:
- Join to #community:matrix.org completes in <10 seconds
- Room appears in sliding sync within 5 seconds
- Background sync completes within 5 minutes for large rooms
Related: PRD #5 Issue P1, MSC3706, MSC3902