FA-75844 / Chat ordering and read receipts / Member archive
Merge server-sequenced messages with local pending sends: server order key · case 04
Messages relayed by a lagging edge node with an earlier wall-clock stamp jump ahead of messages the server sequenced first.
Case contract
confirmed holds server messages {id, seq, ts, optional nonce}; the server seq is the only authority for order and a redelivered copy (same seq, possibly another gateway ts) is shown once (first copy kept). pending holds local unsent messages {nonce, created}; a pending message whose nonce was echoed back by any confirmed message is dropped. Result: confirmed ids in seq order, then local:<nonce> for the remaining pending sends ordered by (created, nonce).
Why this case matters
Chat clients render optimistic local sends next to server-ordered history; ordering or echo mistakes show duplicated or jumping bubbles.
One recorded failure
Sample boundary fixtureThis sample comes from the broken implementation of a controlled reproducer.
| Boundary fixture | Actual | Expected | Outcome |
|---|---|---|---|
| skewed edge timestamps | ["m2", "m1", "m3"] | ["m1", "m2", "m3"] | Failed |
MEMBER ARCHIVE
The complete case is available to members.
This record includes three runnable implementations, regression fixtures, execution results, and source hashes.
Member access is invitation-based. Sign in with your invited account to inspect the sources.
Sign in to the archive ↗