Aglet

Triage an upload that resumes at the wrong byte offset

A resumable upload can appear to restart, skip data, or refuse continuation after a connection break. Triage needs one file, one interruption point, and a record of the client and receiver offsets. The aim is to locate the first disagreement before changing retry behavior or clearing state.

Establish what is happening

  1. Record the transfer identity

    Capture the file size, stable upload identifier, chunk or byte range requested, and the last progress value visible before interruption. Keep the attempt timestamp and whether the client resumed, restarted, or reported completion.

  2. Compare both offsets

    Read the receiver's acknowledged range or stored checkpoint and compare it with the client's next requested byte. Note whether either side counts an inclusive endpoint, a chunk number, or bytes received; different units can look like a small but repeated skip.

  3. Classify the boundary

    Decide whether the discrepancy begins at interruption recovery, acknowledgment handling, range construction, or stale client state. Record a case where the receiver rejects a range and one where it accepts a range, so the next investigation can separate policy from arithmetic.

What to carry forward

Triage is complete when one interrupted transfer has a stable identity, a recorded client offset, a receiver offset, and the first boundary where they differ. If either side cannot expose its checkpoint, classify the missing evidence separately from the observed resume failure.

Technical background: tus protocol 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