- Shipped
- August 26, 2026 at 4:50 AM UTC
- Author
- kamo
- Commit
- 6cc673a
TabAttention fed navGrandTotal into a 1100ms title flasher. Four of its eight addends are queue depth that never reaches zero when a member reads something: support.tickets (unions "assigned to me" server-side with "has unread messages" — SupportPendingCountService answers one integer for the whole set), support.systemBugs (platform-wide NEW, clears only on triage), support.webinars and phone.voicemails (both clear only by dismissal, not by reading a conversation). Before this branch the flasher read UnreadContext.totalUnread, which always reaches zero; navGrandTotal looked like its natural successor and wasn't one. Added navAttentionTotal to navCountTotals.ts: chat + support.unreadMessages + phone.text (sms) + ai — message-like arrivals only. navGrandTotal is unchanged and still backs the nav badges. support.unreadMessages is a new NavCounts field (bySurface.support, already correctly cleared by the support ticket windows) threaded through NavCountsContext specifically so the tab flasher has a real support signal instead of the queue-depth one. phone.missedCalls is left out of the attention total on the same reasoning as voicemails: workload for the phone icon, not a message arrival. TabAttention now calls navAttentionTotal instead of navGrandTotal.