Multipart upload progress jumps backward on resume (AwsS3)

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 ListParts to 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.