π Uppy 3.1-3.3: Improved AWS S3 Multipart, Single File Mode
π
πΆ Ho-ho-ho, we are about to wrap up another year for Uppy! Three minor
releases ago weβve introduced Uppy 3.0. Itβs time to give you an update on
whatβs been cooking in the Uppy-Transloadit headquarters (besides cranberry
sauce) for the past couple of months.
In short: AWS S3 Multipart stability improvements, Single File Mode for the Dashboard, more tests and bugfixes, new locales.
Safer AWS S3 Multipart uploads on slow connectionsβ
@uppy/aws-s3-multipart
has been serving well for people who prefer a
client-to_s3 setup with Uppy. However, some uploads could occasionally fail in
poor network conditions. It turned out, simultaneously signing and uploading
many chunks at once saturated the HTTP/1.1 connection limit, which lead to
signatures expiring by the time Uppy started uploading the next chunk.
Weβve refactored our internal queue mechanism to sign chunks right before we
begin uploading them to the remote server. When the upload is paused, the queue
is emptied and re-populated again on resume. The default limit
for this plugin
has been set to 6
and the default S3 signature expiry has been lifted from
300
to 800
seconds.
Single File Modeβ
Often times people only want to upload a single file (most commonly an image) via Uppy. But the Dashboard UI is tailored to handling many files at once, and it used to display the single image as a small, sad-looking block in the corner. This ends now! (Actually, it ended a few releases ago, figure of speech).
With only one file selected, weβll display it large and centered, and make sure
to re-generate the image preview so itβs 600px
wide, looking nice and sleek on
modern displays.
See PR #4188 for more screenshots.
Bug fixes and Upgradesβ
Weβve upgraded Typescript to v4.8
and Jest to v29
, among other tools and
packages.
We are now additionally testing that Uppy packages are correctly bundled with the latest Rollup, Webpack, Parcel, Vite, and ESBuild.
Notable bug fixes:
- XHR Upload: Queue requests for socket token for remote files
- Core: Prevent crashes when a file is removed before the upload starts
- Golden Retriever: Fixed upload retries
- AWS S3 and XHR Upload: Fixed Cannot mark a queued request as done in MiniXHRUpload
- Webcam: Set default videoConstraints
- Image Editor: Fix controls in small Dashboard
See the full list in the changelog.
Companionβ
And of course, this festive season we are not forgetting Companion under the tree:
- Throttle progress by time
- Added workaround for S3 accelerated endpoints
- Send expire info for non-multipart uploads
- Send expiry time alongside S3 signed requests
- Added support for AbortSignal
- Prevent preflight race condition
Localesβ
Uzbek language pack was added, while Polish and Ukrainian language packs were updated.
Thatβs it for our updates! Stay tuned for more in 2023 and happy holidays (if you are celebrating)! Cheers. In the meantime, we are driving home, driving home for Christmas. Yeah.