Stamp every unread frame with the instant its counts were read

FixMediaService
Shipped
August 20, 2026 at 7:18 PM UTC
Author
Kamo
Commit
abcd491

The four places that built a member's unread snapshot — the REST read, the frame sent when a message arrives, the frame sent when a session is marked read, and the one a web-chat visitor's message triggers — each assembled the same aggregation by hand and sent it unstamped. They are not ordered with respect to one another: the arrival frame is computed at the tail of the SENDER's request, so a recipient reading the conversation can mark it read and have that broadcast before the frame announcing the message is even sent. A client applying frames as they land then holds a badge this service no longer believes in. They now come from one factory that stamps computedAt BEFORE reading the counts — the instant from which the snapshot's data is no older — so a client can tell which frame describes the older world. Stamping after the read would give the stale frame the LARGER number, since it is precisely the one that finishes last, and preserve the bug it is meant to remove.

All changes

Like what you see shipping?

Every one of these updates lands in your workspace automatically. Start free and watch it grow week after week.

Start Free ForeverView Pricing