Establish what is happening
Record visible and measured progress
Capture file size, displayed percentage, local bytes sent, receiver acknowledgments, and timestamps around the stall. Note whether the value is unchanged, rounded, indeterminate, or marked complete, and keep the transfer identity tied to each observation.
Find the quiet boundary
Compare progress events with request starts, acknowledgments, chunk completion, validation, and finalization. Identify whether the gap occurs during transfer, after the last byte, or while later processing runs; each boundary needs a different expectation.
Classify the symptom
Classify the case as missing measurement, delayed rendering, incorrect denominator, terminal-state confusion, or actual transfer stall. Preserve a second file size or chunk pattern when a rounding rule could hide progress near completion.
What to carry forward
Triage is complete when visible progress is compared with byte or state evidence at a known boundary. If the receiver cannot expose movement, keep transfer health unknown and avoid calling a presentation stall a transport failure.
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