FAILURE MAP
← Case archive

FA-76204 / Chat ordering and read receipts / Member archive

Batch outgoing read receipts per conversation: highest per conversation · case 04

The last scroll event wins, so a lower receipt is sent after a higher one was generated.

Member previewVariant 4 · 3 implementations · 6 checks per implementation

Case contract

pending_reads are [conv, seq] events produced while scrolling, in any order. Per conversation only the highest seq is sent, and only if it is above the marker already sent (missing marker means nothing sent, -1). In the background nothing is sent: the eligible conversations are deferred. Result {send: [[conv, seq]...] sorted by conv, defer: [conv...]}.

Why this case matters

Receipt batching limits traffic; batching errors send stale receipts or none at all.

One recorded failure

Sample boundary fixture

This sample comes from the broken implementation of a controlled reproducer.

Boundary fixtureActualExpectedOutcome
scroll events out of order{"defer": [], "send": [["a", 4], ["b", 2]]}{"defer": [], "send": [["a", 13], ["b", 2]]}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 ↗