- Shipped
- August 14, 2026 at 11:24 PM UTC
- Author
- Kamo
- Commit
- 26e78cd
A member has this open in more than one tab about as often as not, and often on a phone as well. Each of those holds its own socket and draws its own bell, and until now the only thing that reached them was a new notification — so reading or clearing the centre in one window left every other one counting notifications that were already gone, with nothing but a page reload to correct it. Reads, mark-all-reads, dismissals, snoozes and deletions now go out on the same per-member topic arrivals use. The tab that caused the change gets its own echo like everybody else; the browser applies them idempotently. Quiet hours and do-not-disturb were holding the notification rather than the toast. Nothing at all was published inside the window, so the badge could not move until the page was reloaded — the member who had configured the feature was the only one whose count could not be trusted. A held notification is now published with `silent: true`: it belongs in the centre and in the count, and it is the sound, the card and the desktop pop that quiet hours exists to suppress. It still does not touch deliveredAt, so it can never come back as a toast once the window has passed. The topic's `type` strings are constants now rather than literals scattered across six methods, since the browser switches on them and a typo is a frame that falls through to "an arrival".