FA-76150 / Chat ordering and read receipts / Member archive
Render who is typing from start and stop events: plural form · case 05
With three typers the indicator silently drops the third name.
Case contract
events [ts_ms, user, kind] with kind start, stop or message are applied in (ts, user, kind) order. A user is typing when their latest start has no later stop or message and now - start < 6000 ms (a start stamped in the future by a skewed clock stays active). The viewer is excluded. Typers are listed by start time: one -> "A is typing", two -> "A and B are typing", more -> "Several people are typing", none -> "". names maps ids to display names.
Why this case matters
Typing indicators are ephemeral presence; stale or misordered indicators mislead users about who is replying.
One recorded failure
Sample boundary fixtureThis sample comes from the broken implementation of a controlled reproducer.
| Boundary fixture | Actual | Expected | Outcome |
|---|---|---|---|
| three typers | "A and B are typing" | "Several people are typing" | 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 ↗