Aglet

Learn from recurring upload progress display stalls

Recurring progress questions often expose a missing boundary between bytes transferred and work performed after transfer. Learning should preserve the files and event gaps that revealed the ambiguity, then make each phase and its measurement rule explicit for future UI and transport changes.

Keep the lesson for the next incident

  1. Cluster the display failures

    Group cases by sparse events, rounding, finalization, validation handoff, denominator changes, and actual byte stalls. Record the user action each display encouraged and keep a healthy quiet interval distinct from missing transport evidence.

  2. Document phase measurements

    State what percentage measures, when it stops, which state follows it, and how quiet intervals are labeled. Include examples for a final partial range and a post-transfer validation period so reviewers do not infer one scale for every stage.

  3. Add a review trigger

    Require the fixture when changing chunking, event cadence, progress math, phase labels, or retry controls. Assign an owner for the progress contract and record whether the change affects bytes, rendering, or the handoff to processing.

What to carry forward

The learning record is useful when it separates byte progress from later phases and preserves a fixture for quiet events. If exact percentage movement cannot be promised, define the stable phase text and next action that replace false precision.

Technical background: MDN reference.

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