Skip to content

fix: auto-retry zip upload on transient network failures#79

Merged
jonoirwinrsa merged 1 commit into
mainfrom
fix/auto-retry-zip-upload
Jun 4, 2026
Merged

fix: auto-retry zip upload on transient network failures#79
jonoirwinrsa merged 1 commit into
mainfrom
fix/auto-retry-zip-upload

Conversation

@jonoirwinrsa
Copy link
Copy Markdown
Contributor

Summary

  • Wraps the S3 presigned-URL PUT in uploadZipWithProgress (deploy path) and UploadZip (API client) with up to 3 retries using 2s exponential backoff
  • Seeks the zip file back to the start and resets the upload progress counter before each attempt so the progress bar re-fills correctly on retry
  • 4xx responses (bad credentials, bad request) are non-retryable; network errors and 5xx are retried
  • Context cancellation is respected — no retry on Ctrl+C

Test plan

  • Deploy a project and observe successful upload (golden path)
  • Simulate a flaky connection (e.g. tc netem or network toggle mid-upload) and confirm the CLI retries and eventually succeeds rather than failing immediately
  • Confirm Ctrl+C during upload still exits cleanly without retry loops

🤖 Generated with Claude Code

Retries up to 3 times with 2s exponential backoff on connection errors
or 5xx responses. Seeks the file back to start and resets the progress
counter before each attempt. 4xx responses are non-retryable.

Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
@jonoirwinrsa jonoirwinrsa force-pushed the fix/auto-retry-zip-upload branch from f613e25 to 97f80de Compare June 4, 2026 17:17
@jonoirwinrsa jonoirwinrsa requested a review from wesrobin June 4, 2026 17:18
@jonoirwinrsa jonoirwinrsa added this pull request to the merge queue Jun 4, 2026
Merged via the queue into main with commit 0185c26 Jun 4, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants