Aglet

Investigate duplicate notification updates with event identity

An investigation should explain whether repeated messages are retries, channel copies, updates, or distinct events. Replay a representative stream, compare event and resource identity, and inspect what a person can act on after coalescing. Keep retained history in scope. The brief should name the boundary between repetition and change.

Build a useful investigation brief

  1. Build the event matrix

    List event key, resource, state, version, timestamp, retry marker, channel, notification ID, group, action, and history. Include one duplicate and one legitimate repeat. Keep delivery order separate from source order.

  2. Trace the first repetition

    Vary retry, channel, state, and elapsed time one at a time. Compare update-in-place, grouped, and separate output. Record whether the latest state is complete and whether an earlier action remains available or is incorrectly replaced.

  3. Write the coalescing brief

    State identity boundary, first duplicate source, retained history, and competing explanations. Recommend one bounded deduplication or grouping experiment with a pass condition. Avoid claiming source idempotency from matching notification copy alone. Record which event identity justifies retaining or merging it.

What to carry forward

The investigation is complete when event identity and user-visible state explain the repeated output, or the first unknown is explicit. Stop with one coalescing experiment. Preserve a legitimate repeated event and the latest action so a reduction in volume does not masquerade as correctness.

Technical background: Android developer documentation.

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