Roadmap

Current Status

All implementation phases P0–P5 are complete with 244 tests passing and 42/42 verification checks passing.

PhaseScopeStatusTests
P0Core Client-Server APIComplete244
P1E2EE, Media, Push, SearchComplete244
P2Federation, Appservice, IdentityComplete244
P3Health, Rate Limiting, CleanupComplete244
P4Spaces, Relations, Client CompatComplete244
P5Federation Core, Admin API, OpsComplete244

Phase Details

P0 — Core Client-Server

  • Authentication (login, register, logout, token refresh)
  • Room creation, events, membership, redaction
  • /sync with long-polling, stream tokens, filters
  • Account management, UIAA
  • Error handling, versioning, capabilities
  • Schema migrations V1–V13

P1 — Features

  • E2EE: Key upload/query/claim, cross-signing, device keys, to-device messages
  • Media: Upload, download, thumbnails, URL preview with SSRF protection
  • Push: Push rules, pushers, notifications, delivery worker
  • Search: Full-text search with B-tree fallback
  • Schema migrations V14–V18

P2 — Federation & Integration

  • Federation: Request signing, key caching, transaction processing
  • Appservice: Registration, transaction forwarding
  • Identity: 3PID lookup, embedded mode
  • Schema migrations V19–V20

P3 — Operations

  • Health endpoints (readiness, liveness, stats, metrics)
  • Rate limiting (sliding window per-IP)
  • Index optimization, cleanup jobs
  • Schema migrations V21–V22

P4 — Client Compatibility

  • Spaces and hierarchy
  • Event relations (threads, annotations, edits)
  • Room versions and capabilities
  • Sliding Sync (MSC3575) implementation
  • Device list visibility on membership changes
  • Schema migration V23

P5 — Production Readiness

  • Federation core compliance (FED-01~06)
  • EDU processing, MIME sniffing
  • Admin API (whois, kick/ban, user/room management)
  • Rate limiting, security headers
  • Room purge, backup, media cleanup

Known Gaps

GapPriorityNotes
Cryptographic federation signature verificationMediumFormat/origin/hash verified; full crypto deferred
Shared-room device visibility computationLowBasic membership-change notifications work
Animated GIF thumbnailsLowStatic thumbnails work
Production HTTPS terminationDeploymentUse reverse proxy (nginx, Caddy)
Real-time federation with remote serversMediumRequires crypto signature verification

Future Directions

  • Full federation crypto verification
  • Application service bridging
  • Grafana/Prometheus metrics integration
  • Rate limiting per-user (not just per-IP)
  • Background job queue for media cleanup
  • Admin dashboard UI