- `@uppy/aws/s3-multipart`: remove `client` getter and setter.
- reason: internal usage only
- migrate: use exposed options only
- `@uppy/core`: remove `AggregateError` polyfill
- reason: [should be polyfilled by the user](https://github.com/transloadit/uppy/pull/3532#discussion_r818602636)
- migrate: install `AggregateError` polyfill or use `core-js`
- `@uppy/core`: remove `reset()` method
- reason: it's a duplicate of `cancelAll`, but with a less intention revealing name
- migrate: use `cancelAll`
- `@uppy/core`: remove backwards compatible exports (static properties on `Uppy`)
- reason: transition to ESM
- migrate: import the `Uppy` class by default and/or use named exports for everything else.
- `@uppy/react`: don't expose `validProps`
- reason: internal only
- migrate: do not depend on this
- `@uppy/store-redux`: remove backwards compatible exports (static properties on `ReduxStore`)
- reason: transition to ESM
- migrate: use named imports
- `@uppy/thumbnail-generator`: remove `rotateImage`, `protect`, and `canvasToBlob` from prototype.
- reason: internal only
- migrate: don't depend on this
When starting an upload and removing it right away, it creates a race
condition when the assembly is created with no files and is never
closed. This commit ensures that the assembly is closed if all files
have been removed, or updated with the new expected number of
files otherwise.
Co-authored-by: Aaron Heimlich <aaron.heimlich@gmail.com>
* Fix outdated file ids and incorrect usage of files
* add e2e test
* Update packages/@uppy/transloadit/src/index.js
Co-authored-by: Antoine du Hamel <duhamelantoine1995@gmail.com>
Co-authored-by: Artur Paikin <artur@arturpaikin.com>
The export was renamed during during the ESM transition, which was an unintended breaking change. This commit restores the missing export.
Refs: https://github.com/transloadit/uppy/pull/3725
* transloadit: propagate error details when creating Assembly fails
Clients are expected to use `error.assembly` to inspect details about
failed Assemblies, but then we do need to always give that property
back.
I think we should have a test for this but not sure how to approach it,
since it depends on responses from the Transloadit API. I guess we'd
require a new e2e test for it?
* Apply suggestions from code review
Co-authored-by: Antoine du Hamel <duhamelantoine1995@gmail.com>
Co-authored-by: Antoine du Hamel <duhamelantoine1995@gmail.com>
Share one instance of `RateLimitedQueue` between Tus plugin and
Transloadit plugin, ensure all requests to transloadit.com go through
the `RateLimitedQueue` to handle rate limiting response globally.
The `ErrorWithCause` class uses the same signature as the builtin Error
does, but it supports the `{ cause }` option in older environments, and
it propagates the `isNetworkError` property from the underlying error.
Closes#3232
### Summary
- Create `locale.js` for every plugin instead of `this.defaultLocale` in the class
- Complete refactor of locale scripts
- No dynamic plugin class imports with hacks to mimic the environment in order to get the `defaultLocale`.
- Separate tests and build in separate files
- Add two modes for test file, `unused` (fails hard) and `warnings`
- Generate docs
- Use remark to cleanly mutate the file
- Rename some doc files to match the plugin name (such as `statusbar` --> `status-bar`)
- Comments in `locale.js` are kept and are present in the docs as well.
- Generate types
* @uppy/core: move `Uppy` class to its own module
Fixes: https://github.com/transloadit/uppy/issues/3220
* Rename snapshot file
* Update docs
* Update website/src/_posts/2021-08-2.0.md
Co-authored-by: Merlijn Vos <merlijn@soverin.net>
* Update migration guide
* Do not bundle preact with non-UI plugin packages
Co-authored-by: Merlijn Vos <merlijn@soverin.net>
* enforce some eslint rules
* enforce accessibility linter rules
* harden lint rules with only 1 or 2 warnings
* fix remaining rules with less than 3 warnings
* fix e2e tests
* fix remaining rules with less than 4 warnings
* fix remaining rules with less than 6 warnings
* fix `shuffleTaglines`
* fix companion build
* What is happening "*"
* Instead of re-creating i18nInit, we could just make it part of the BasePlugin
* set plugin title and allow changing it from locale
* remove i18nInit method, since we now include it in BasePlugin
* All provider titles should come from locale
* Update en_US.js
* make translator private
//cc @aduh95
* init locale after calling setOptions
* Update en_US.js
* Update packages/@uppy/core/src/BasePlugin.js
Co-authored-by: Antoine du Hamel <duhamelantoine1995@gmail.com>
* Update packages/@uppy/core/src/index.js
Co-authored-by: Antoine du Hamel <duhamelantoine1995@gmail.com>
* Bind `i18n` functions
* Remove duplicate i18nInit — it’s in BasePlugin already
* fix formatting
* fix name
* Update en_US.js
Co-authored-by: Antoine du Hamel <duhamelantoine1995@gmail.com>
We can now use `Object.fromEntries`, `Object.values`, and `Symbol`.
Also changes polyfill suggestion for legacy browsers to use `core-js`
which includes almost all we need and more.
* remove deprecated serverHeaders in favour of companionHeaders
* remove TL_UPPY_SERVER and exports.UPPY_SERVER
@kvz @goto-bus-stop ok to do this already, right?