FA-75993 / Chat ordering and read receipts / Member archive
Place the "new messages" divider in a loaded window: send implies read · case 03
After the user replies in the middle of new messages, the divider still sits above messages they answered.
Case contract
messages are ascending [seq, author] pairs of the loaded window that starts at window_start. Sending a message implies having read everything before it, so the effective marker is the larger of marker and the highest seq authored by me. The divider goes before the first loaded message after the effective marker not written by me (index, or None). older_unread is true when some unread seq lies before the loaded window (effective marker < window_start - 1).
Why this case matters
The divider tells users where to resume reading; misplacing it hides or repeats unread history.
One recorded failure
Sample boundary fixtureThis sample comes from the broken implementation of a controlled reproducer.
| Boundary fixture | Actual | Expected | Outcome |
|---|---|---|---|
| interleaved own replies | {"index": 0, "older_unread": false} | {"index": 4, "older_unread": false} | 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 ↗