Real-Time Communication Audit
community-realtime · v1.1.0 · paid
Evaluates WebSocket/SSE implementation, message delivery reliability, presence indicators, connection handling, and real-time UX.
Connection Management
connection-management · weight 0.3
- criticalWebSocket connections require authentication before streamingab-000735
- highPer-user connection limits enforced to prevent slot exhaustionab-000736
- highHeartbeat or ping on idle connections; zombie connections closed after configurable timeoutab-000737
- highExponential backoff with jitter on client reconnection, not fixed retry intervalab-000738
- criticalChannel authorization re-validated on subscribe, not only at initial handshakeab-000739
Message Delivery & Ordering
message-delivery · weight 0.3
- highEach message carries a monotonic sequence number enabling gap detectionab-000740
- highDuplicate messages deduplicated via client-generated ID before renderingab-000741
- highPub/sub layer such as Redis or NATS ensures cross-instance message deliveryab-000742
- mediumMessages queued server-side during disconnect and delivered in order on reconnectionab-000743
- mediumMax message payload size enforced server-side; oversized frames rejected with errorab-000744
Presence & State Sync
presence · weight 0.2
- criticalPresence state computed from server connection state, not forgeable client heartbeatsab-000745
- mediumTyping indicators debounced at client and expire server-side on timeoutab-000746
- mediumRead receipts stored as explicit user acknowledgment, not inferred from deliveryab-000747
- mediumPresence payloads contain only state and user ID; no IP, device, or session data leakedab-000748
- mediumReal-time fan-out uses channel membership cache, not per-message permission readsab-000749
Real-Time UX & Resilience
realtime-ux · weight 0.2
- lowConnection state exposed to UI as connected, connecting, or disconnected indicatorab-000750
- lowMessages maintain causal order within a single thread; reply not emitted before parentab-000751
- lowClient queues outbound messages while offline and re-sends on reconnectab-000752
- lowHorizontal scaling confirmed: real-time state not held solely in process memoryab-000753
- lowActive connections, throughput, and queue depth exposed to observability layerab-000754