A bulk mark-read announces itself, so the nav badge follows it

FixEmailService
Shipped
September 7, 2026 at 9:40 PM UTC
Author
Kamo
Commit
57983d1

The single-message endpoints have always published the mailbox events that move the nav badge and reload the other tabs. The three batch endpoints — flags, move, delete — changed the mailbox and told nobody. So reading ONE message updated the unread count and selecting ten and marking them read did not. The mailbox really had changed; the browser was simply never told, and the count sat where it was until the page was reloaded. One feature behaving two ways reads as two unrelated faults, and sends you looking at the socket rather than at the endpoint that stayed quiet. The folder is null for all three, deliberately: a selection is not required to come from one folder, and a null folder already means "reload whatever you are showing" to every consumer. A batch that threw still announces nothing — the announcement is what sends every other tab back to the server, and a failed batch would send them for state they already hold.

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