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>
* Add @uppy/remote-sources preset/plugin
* yarn.lock
* Update packages/@uppy/remote-sources/README.md
Co-authored-by: Merlijn Vos <merlijn@soverin.net>
* Use div.uppy-Root for all plugins mounted in DOM; set dir in UIPlugin
* remote uppy-Root from all UI plugins, as it will be set in UIPlugin automatically
* Remove uppy-Root from file-input
* Revert "Update packages/@uppy/remote-sources/README.md"
This reverts commit 3fd00028f7.
* Revert "yarn.lock"
This reverts commit 04dd8c73de.
* Revert "Add @uppy/remote-sources preset/plugin"
This reverts commit ac1f5df6b3.
* Update packages/@uppy/core/src/UIPlugin.js
Co-authored-by: Merlijn Vos <merlijn@soverin.net>
* Update packages/@uppy/drag-drop/src/DragDrop.jsx
Co-authored-by: Merlijn Vos <merlijn@soverin.net>
* Update packages/@uppy/core/src/UIPlugin.js
Co-authored-by: Renée Kooi <renee@kooi.me>
* Revert "Update packages/@uppy/core/src/UIPlugin.js"
This reverts commit f91af00d6b.
* @uppy/react: add .uppy-Contrainer class name to wrapper div
* @uppy/svelte: add .uppy-Contrainer class name to wrapper div
Co-authored-by: Merlijn Vos <merlijn@soverin.net>
Co-authored-by: Renée Kooi <renee@kooi.me>
.substr() is deprecated so we replace it with .slice() which works similarily but isn't deprecated
Signed-off-by: Tobias Speicher <rootcommander@gmail.com>
* add extra dot before file size
* show search term at the top when displaying results
* add inline search to result screen
* update locale
* update locale
* remove comments
* improve semantics, remove duplicate event handlers
* add Audio plugin
* add audio-oscilloscope to visualize the recording
* refactor: rename everything to Audio, use oscilloscope, re-init when appropriate, improved preview screen
* tweak styles
* add @uppy/audio to the Uppy bundle
* update Readme and package.json
* add docs, update locales, add website example
* webcam plugin also shouldn’t show recording length counter on video preview screen
* update package.json and yarn.lock
* update types
* update locale
* fix locale issues
* remove leftover webcam test
* Delete index.test-d.ts
* Revert "Delete index.test-d.ts"
This reverts commit f4ec431f6a.
* fix lint and type tests
* Update website/src/docs/audio.md
Co-authored-by: Antoine du Hamel <duhamelantoine1995@gmail.com>
* Update packages/@uppy/audio/src/audio-oscilloscope/index.js
Co-authored-by: Antoine du Hamel <duhamelantoine1995@gmail.com>
* Update packages/@uppy/audio/src/DiscardButton.js
Co-authored-by: Antoine du Hamel <duhamelantoine1995@gmail.com>
* Update packages/@uppy/audio/src/audio-oscilloscope/index.js
Co-authored-by: Antoine du Hamel <duhamelantoine1995@gmail.com>
* Update packages/@uppy/audio/src/supportsMediaRecorder.js
Co-authored-by: Antoine du Hamel <duhamelantoine1995@gmail.com>
* Update website/src/docs/audio.md
Co-authored-by: Antoine du Hamel <duhamelantoine1995@gmail.com>
* Update packages/@uppy/audio/types/index.d.ts
Co-authored-by: Antoine du Hamel <duhamelantoine1995@gmail.com>
* Update packages/@uppy/audio/src/index.js
Co-authored-by: Antoine du Hamel <duhamelantoine1995@gmail.com>
* Update packages/@uppy/audio/src/index.js
Co-authored-by: Antoine du Hamel <duhamelantoine1995@gmail.com>
* Update packages/@uppy/audio/src/index.js
Co-authored-by: Antoine du Hamel <duhamelantoine1995@gmail.com>
* remove unused method
* remove unused commented declarations
* make all methods private
* convert class component to hooks
* more private
* fix lint
Co-authored-by: Antoine du Hamel <duhamelantoine1995@gmail.com>
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
* add checkRequiredMetaFieldsOnFile for checking single file's meta fields after editing
* add MetaErrorMessage component, mobile and desktop styles
* use AggregateRestrictionError again
* metaFieldIdToName — use names of meta fields instead of id
* Update MetaErrorMessage.js
* desktop style tweaks
* update jest snapshot
* Close window on auth callback error
Because simply receiving a "Bad request" is very bad UX
For example if the user cancels the auth flow, or doesn't give companion access
it's better to go back
* Update packages/@uppy/companion/src/server/controllers/callback.js
Co-authored-by: Antoine du Hamel <duhamelantoine1995@gmail.com>
* Update packages/@uppy/companion/src/server/controllers/callback.js
Co-authored-by: Antoine du Hamel <duhamelantoine1995@gmail.com>
* Update packages/@uppy/companion/src/server/controllers/callback.js
* Update callback.js
* pull out reusable code to getDynamicStateFromRequest
* Signal auth error to client
* fix test mocking
* npm run build:locale-pack
* Update packages/@uppy/companion/src/server/controllers/callback.js
Co-authored-by: Antoine du Hamel <duhamelantoine1995@gmail.com>
* fix lint
* add i18n string that got lost during merge
* add french translation
* add dutch translation
* add norwegian translation
Co-authored-by: Antoine du Hamel <duhamelantoine1995@gmail.com>
* @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>
* add stylelint with stylelint-config-standard
* autofix style issues
* fix more linting issues
* add stylelint-scss
* fix two more
* add stylelint-config-rational-order and autofix order
https://github.com/constverum/stylelint-config-rational-order
* 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
- Create and call `onUnmount` in `UIPlugin` for plugins that require clean up
- Update webcam `stop` to clean up when already recording
- Update "Writing plugins" docs
- Move `onMount` and `onUnmount` from `BasePlugin` into `UIPlugin`
- Update types
* Pass createDocumentFragment instead of the targetElement to Preact, so it doesn’t destroy the contents of targetElement
* remove replaceTargetContent
* also remove replaceTargetContent from docs and website
* 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>
* Dashboard: add `required` option to `metaFields`
Fixes: https://github.com/transloadit/uppy/issues/2892
* use `<form>` element to allow users to use all built-in form features
from the web browser.
* remove `saveOnEnter` hack
The fields are now inside a form, saving on Enter is the default
behavior – and it doesn't short-circuit form validation checks.
* restrictions.requiredMetaFields
* fix documentation of restrictions.requiredMetaFields
* check for required meta fields on upload
* Use detached `<form>` element to avoid nesting `<form>` elements
* fixup! Use detached `<form>` element to avoid nesting `<form>` elements
* Use `cuid` to generate `<form>` `id`
* core: set file size from progress data when null
* core: improve size condition
Co-authored-by: Renée Kooi <renee@kooi.me>
* Move remote file size calculation to uppload success
* Fix file size in test now that we set the size in upload success
* Send bytesUploaded in upload success
* Prioritize bytesUploaded coming from companion
* Format
* Update index.js
Co-authored-by: Renée Kooi <renee@kooi.me>
Co-authored-by: Artur Paikin <artur@arturpaikin.com>