Hello !
I’m using Uppy with @uppy/aws-s3 and multipart uploads in a React (Next.js) application. I wanted to sanity-check some progress behavior I’m seeing before opening a GitHub issue.
Scenario
-
File size > ~5MB (multipart upload)
-
Upload starts and reaches ~50% (example)
-
Upload is paused
-
On resume, Uppy calls
ListPartsto fetch already uploaded parts from S3 -
Based on the response, Uppy recalculates progress and finds that only ~40% of parts were fully uploaded
-
The progress then jumps back from ~50% → ~40% and continues uploading
The upload itself works correctly — this is purely about progress reporting / UX
My understanding
From what I can tell, this behaviour is Uppy reconciling optimistic client-side progress with S3’s authoritative ListParts response during multipart resume.
From a correctness standpoint, this makes sense - only fully uploaded parts should count toward progress.
However, visually this appears as a flicker or regression in the progress bar, which can be confusing or concerning for users, especially when pause/resume is user-initiated.