FA-76005 / Chat ordering and read receipts / Member archive
Place the "new messages" divider in a loaded window: no divider sentinel · case 05
When nothing is unread the divider is drawn at the end of the list instead of being omitted.
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 |
|---|---|---|---|
| all read | {"index": 2, "older_unread": false} | {"index": null, "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 ↗