Aglet

Triage notification badge count drift before changing unread state

A badge can disagree with the inbox after reading, grouping, opening several tabs, or switching devices. Triage the count contract before changing read state. Capture unread records, grouping, refresh timing, and navigation state so a stale display is separate from an incorrect definition.

Establish what is happening

  1. Capture one count

    Record badge value, unread records, grouped summary, read transition, tab or device, refresh time, and list result. Include one item opened and one explicitly marked read. Keep a no-unread control.

  2. Compare count meaning

    Ask whether the badge counts items, groups, events, or only visible records. Compare list and navigation after filters or pagination. A count that is delayed can be a refresh issue; a count with a different universe needs a contract decision.

  3. Set the drift boundary

    State when the badge changes, what opening means, how sync resolves, and which records count. Preserve a reconciled case. Stop when another reviewer can explain a mismatch from definition or timing rather than calling every difference stale.

What to carry forward

The triage output is a badge count contract with unread definition, grouping, transition, and refresh boundary. Stop when definition and drift are distinguishable. If cross-device sync is unknown, keep the count provisional and record the missing observation.

Technical background: W3C guidance.

Keep the decision with the work.

Use a Work Item in Aglet to record the problem, the evidence you have, and the next decision. Add an owner and priority, then keep updates in the discussion so the next person can follow the reasoning.

Create an account See the product workflow