Skip to content

Add resumable file uploads with chunking and concurrency support#15

Merged
sebamar88 merged 2 commits into
mainfrom
003-promise-pool
Mar 28, 2026
Merged

Add resumable file uploads with chunking and concurrency support#15
sebamar88 merged 2 commits into
mainfrom
003-promise-pool

Conversation

@sebamar88
Copy link
Copy Markdown
Owner

Description

Related Issue

Fixes #(issue number)

Type of Change

  • 🐛 Bug fix (non-breaking change which fixes an issue)
  • ✨ New feature (non-breaking change which adds functionality)
  • 💥 Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • 📝 Documentation update
  • 🔧 Chore (refactoring, tooling, dependencies)

Changes Made

Testing

  • Unit tests added/updated
  • Integration tests added/updated
  • All tests passing
  • Manual testing completed

Coverage

Coverage: XX%

Screenshots

Checklist

  • My code follows the style guidelines of this project
  • I have performed a self-review of my code
  • I have commented my code, particularly in hard-to-understand areas
  • I have made corresponding changes to the documentation
  • My changes generate no new warnings
  • I have added tests that prove my fix is effective or that my feature works
  • New and existing unit tests pass locally with my changes
  • Any dependent changes have been merged and published

Breaking Changes

Additional Notes

- Introduced a new feature specification for resumable file uploads, allowing large files to be uploaded in chunks and resumed from the last successful chunk.
- Enhanced `FileUploadHelper` to support chunked uploads with options for chunk size, concurrency, and resuming from a specific chunk.
- Implemented a `PromisePool` utility to manage concurrent asynchronous tasks with configurable concurrency limits and timeout handling.
- Updated `ApiClient` to utilize `PromisePool` for managing concurrent requests, ensuring that the number of simultaneous requests does not exceed specified limits.
- Added comprehensive tests for `PromisePool` functionality, including concurrency limits, error handling, and timeout mechanics.
- Created integration tests for `ApiClient` to verify correct behavior with the new pooling mechanism.
@github-actions
Copy link
Copy Markdown
Contributor

Dependency Review

✅ No vulnerabilities or license issues or OpenSSF Scorecard issues found.

Snapshot Warnings

⚠️: No snapshots were found for the head SHA 29551e1.
Ensure that dependencies are being submitted on PR branches and consider enabling retry-on-snapshot-warnings. See the documentation for more information and troubleshooting advice.

Scanned Files

None

@github-actions
Copy link
Copy Markdown
Contributor

📦 Bundle Size Report

Total dist size: 1.2M

View detailed breakdown
4.0K	dist/api-client.d.ts
4.0K	dist/api-client.d.ts.map
4.0K	dist/api-client.js
4.0K	dist/api-client.js.map
112K	dist/cli
4.0K	dist/debug.d.ts
4.0K	dist/debug.d.ts.map
4.0K	dist/debug.js
4.0K	dist/debug.js.map
4.0K	dist/env-manager.d.ts
4.0K	dist/env-manager.d.ts.map
4.0K	dist/env-manager.js
4.0K	dist/env-manager.js.map
4.0K	dist/file-upload.d.ts
4.0K	dist/file-upload.d.ts.map
4.0K	dist/file-upload.js
4.0K	dist/file-upload.js.map
4.0K	dist/index.d.ts
4.0K	dist/index.d.ts.map
4.0K	dist/index.js
4.0K	dist/index.js.map
4.0K	dist/logger.d.ts
4.0K	dist/logger.d.ts.map
4.0K	dist/logger.js
4.0K	dist/logger.js.map
4.0K	dist/profiler.d.ts
4.0K	dist/profiler.d.ts.map
4.0K	dist/profiler.js
4.0K	dist/profiler.js.map
4.0K	dist/response-validator.d.ts
4.0K	dist/response-validator.d.ts.map
4.0K	dist/response-validator.js
4.0K	dist/response-validator.js.map
4.0K	dist/retry-policy.d.ts
4.0K	dist/retry-policy.d.ts.map
4.0K	dist/retry-policy.js
4.0K	dist/retry-policy.js.map
4.0K	dist/storage-utils.d.ts
4.0K	dist/storage-utils.d.ts.map
4.0K	dist/storage-utils.js
4.0K	dist/storage-utils.js.map
4.0K	dist/streaming.d.ts
4.0K	dist/streaming.d.ts.map
4.0K	dist/streaming.js
4.0K	dist/streaming.js.map
300K	dist/utils/core
316K	dist/utils/helpers
224K	dist/utils/async
860K	dist/utils
4.0K	dist/websocket.d.ts
4.0K	dist/websocket.d.ts.map
4.0K	dist/websocket.js
4.0K	dist/websocket.js.map

@sonarqubecloud
Copy link
Copy Markdown

Quality Gate Failed Quality Gate failed

Failed conditions
2 Security Hotspots
D Reliability Rating on New Code (required ≥ A)

See analysis details on SonarQube Cloud

Catch issues before they fail your Quality Gate with our IDE extension SonarQube for IDE

@github-actions
Copy link
Copy Markdown
Contributor

📊 Code Coverage Report

Coverage: 87.33% ✅

Great coverage!

View full coverage report

@github-actions
Copy link
Copy Markdown
Contributor

📊 Code Coverage Report

Coverage: %

❌ Low coverage - please add more tests

@sebamar88 sebamar88 merged commit c1467ac into main Mar 28, 2026
10 of 17 checks passed
@codecov-commenter
Copy link
Copy Markdown

⚠️ Please install the 'codecov app svg image' to ensure uploads and comments are reliably processed by Codecov.

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ All tests successful. No failed tests found.

📢 Thoughts on this report? Let us know!

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