FAILURE MAP
← Case archive

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

Summarize group delivery and read receipts for one message: late joiner exclusion · case 04

A member who joined after a message was sent can never read it, so the message stays "delivered" forever.

Member previewVariant 4 · 3 implementations · 8 checks per implementation

Case contract

Recipients are members other than the sender whose joined_at (first visible seq, default 0) is <= sent_seq. A recipient has read the message when read[u] (their read marker) >= sent_seq; reading implies delivery. Status is "sent" with no recipients, "read" when every recipient read, "delivered" when every recipient got it, else "sent". Result {status, read_by (sorted), recipients (count)}.

Why this case matters

Group tick marks summarise many receipts; wrong membership or thresholds show false "read" states.

One recorded failure

Sample boundary fixture

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

Boundary fixtureActualExpectedOutcome
late joiner does not block read{"read_by": ["bo"], "recipients": 2, "status": "sent"}{"read_by": ["bo"], "recipients": 1, "status": "read"}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 ↗