Designing chat delivery and read receipts over WebSocket: ordering, ACKs, offline sync
Our support chat showed messages out of order, double ticks that never turned blue, and duplicates after reconnects. We rebuilt delivery around per-conversation sequence numbers, client message ids, device cursors and read watermarks. This is the protocol, schema and code.