Commit graph

295 commits

Author SHA1 Message Date
Alexander Zaytsev
2e596ca9a1
@uppy/dashboard: update provider icon style (#4345) 2023-03-07 16:24:48 +08:00
Artur Paikin
222e511a98
@uppy/core: fix uppy.resetProgress() (#4337)
* Fix uppy.resetProgress()

* Update tests
2023-03-02 20:16:42 +00:00
Artur Paikin
7c9e166401
Warn more instead of erroring (#4302) 2023-02-09 19:31:21 +00:00
Antoine du Hamel
be85449385
@uppy/xhr-upload: add 'upload-stalled' event (#4247)
* @uppy/xhr-upload: add`'upload-stalled'` event

* Apply suggestions from code review

Co-authored-by: Merlijn Vos <merlijn@soverin.net>

* Add example

* Update website/src/docs/core.md

Co-authored-by: Merlijn Vos <merlijn@soverin.net>

* Update website/src/docs/core.md

* add bundle error and update locales

* add info message and update docs

* add French translation

* Update website/src/docs/core.md

* fixup! Update website/src/docs/core.md

---------

Co-authored-by: Merlijn Vos <merlijn@soverin.net>
2023-02-01 15:36:54 +00:00
Ikko Ashimine
717eab3b85
@uppy/core: fix typo in Uppy.test.js (#4235) 2022-11-28 10:41:29 -03:00
Artur Paikin
3fbe1c55d8
Fix button and input inconsistent font and style (#4162) 2022-10-21 15:32:00 +01:00
Antoine du Hamel
a11f92181f
@uppy/webcam: fix bug when Dashboard is using a custom id (#4099) 2022-10-19 16:08:49 -03:00
Andrew McIntee
7599f3abcb
@uppy/core: Fix Restrictor counts ghost files against maxNumberOfFiles (#4078)
Prevent core Restrictor class from including isGhost in maxNumberOfFiles count
2022-09-08 15:59:15 +02:00
Antoine du Hamel
a0eeb22458
meta: upgrade to Jest 29 (#4049) 2022-08-30 17:25:19 +02:00
Antoine du Hamel
e0f17e3753
meta: fix linter warnings (#4039) 2022-08-23 16:08:08 +02:00
Artur Paikin
7c460f3a66
core: uppy.addFile should accept browser File objects (#4020)
* If non-remote file has no .data, it’s a File object from the browser, convert it to Uppy format

* Add test

* Update packages/@uppy/core/src/Uppy.js

Co-authored-by: Antoine du Hamel <duhamelantoine1995@gmail.com>

* Check for instanceof File

Co-authored-by: Antoine du Hamel <duhamelantoine1995@gmail.com>
2022-08-22 13:42:18 +01:00
Artur Paikin
4ed75ca61c
Style tweaks: use all: initial + other resets (#3983)
* Refactor uppy-u-reset: all: initial is now well-supported

* Utilize system-ui font-family, it should be provided by browsers now for multi-platform consistency

* Make Dashboard UI a little smaller by default

* Add uppy-c-btn to uppy-Dashboard-browse

* hide uploadNewlyAdded button when preprecessing

* Make “drop files here” tagline more even
2022-08-18 16:01:12 +01:00
Artur Paikin
c042f0220b
core: Remove deprecated get state and allowMultipleUploads option in Core (#3982)
* Remove deprecated get state and allowMultipleUploads option in Core

* Fix tests?

* core.getState()
2022-08-16 11:26:41 +01:00
Artur Paikin
346c2fcd43
core validateRestrictions: return error directly vs the result/reason obj (#3951)
* core validateRestrictions: return error directly vs the result/reason obj

* Refacrtor to actually use restrictionError instead of {reason, message}

* Return error instead of throwing
2022-08-08 10:58:43 +01:00
Merlijn Vos
9a213b59da
Fix all breaking todo comments for 3.0 (#3907)
- `@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
2022-08-03 20:07:24 +02:00
Antoine du Hamel
6f3380b056
@uppy/store-default: export the class, don't expose .callbacks (#3928) 2022-08-03 11:19:09 +02:00
Antoine du Hamel
2e8f79787b
Merge stable branch 2022-07-27 19:47:25 +02:00
Antoine du Hamel
f808e9d741
@uppy/transloadit: cancel assemblies when all its files have been removed (#3893)
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>
2022-07-27 18:17:48 +02:00
Antoine du Hamel
a6029d0304 Merge stable branch 2022-06-09 21:15:10 +02:00
Antoine du Hamel
76751f6f4f
@uppy/core: fix TypeError when file was deleted (#3811) 2022-06-07 07:48:35 +02:00
Antoine du Hamel
6085477ed0
meta: disable ESM to CJS transform in dist files (#3773)
* meta: disable ESM to CJS transorm in dist files

This commit removes all the hacks that needed to happen in order to ship
working CJS code. Onwards, we plan to distribute Uppy packages as ESM.

* No mocking with Jest and ESM
2022-05-30 18:33:01 +02:00
Antoine du Hamel
456c2b7422
@uppy/core: refactor to ESM (#3744) 2022-05-20 11:04:09 +02:00
Artur Paikin
934ba79f00
core: wrap plugins in div.uppy-Root and set dir attrubute in UIPlugin (#3692)
* 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>
2022-05-13 11:04:29 +01:00
Mikael Finstad
8ed210545c
proposal: Cancel assemblies optional (#3575)
* change cancel logic

to make canceling assemblies optional
possibly fixes #3547

* add forgotten file

* rewrite to reason='user'

* try to fix crash

* change reason to unmount

* Apply suggestions from code review

* add close+unmount in more code examples

also fix rule of hooks issue

* improve reason docs

* add tests

* add options also to reset

* update doc

* also prevent canceling uploads on unmount

* Update website/src/docs/transloadit.md

Co-authored-by: Merlijn Vos <merlijn@soverin.net>

* remove conflicting file

Co-authored-by: Merlijn Vos <merlijn@soverin.net>
2022-05-06 01:53:46 +07:00
Antoine du Hamel
a618715f04
@uppy/core: fix TypeError when file was removed (#3670) 2022-04-27 18:00:28 +02:00
Murderlon
79fed01a93
Add todo comments 2022-04-26 10:59:18 +02:00
Antoine du Hamel
066008ef41
@uppy/core: fix TypeError when file was removed (#3650) 2022-04-20 15:11:16 +02:00
Antoine du Hamel
cf749be6e5
@uppy/core: fix TypeError in event handler when file was removed (#3629) 2022-04-07 19:24:49 +02:00
CommanderRoot
e960357dcf
refactor: replace deprecated String.prototype.substr() (#3600)
.substr() is deprecated so we replace it with .slice() which works similarily but isn't deprecated

Signed-off-by: Tobias Speicher <rootcommander@gmail.com>
2022-03-28 13:29:50 +08:00
Merlijn Vos
6573b38cc7
Abstract restriction logic in a new Restricter class (#3532)
Co-authored-by: Antoine du Hamel <duhamelantoine1995@gmail.com>
2022-03-14 17:47:57 +08:00
Merlijn Vos
6da874ed3a
meta: Make E2E Great Again (#3444)
Co-authored-by: Antoine du Hamel <duhamelantoine1995@gmail.com>
2022-02-08 17:37:27 +01:00
Artur Paikin
80e5cedf11
Unsplash: UI improvements (#3438)
* 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
2022-01-26 22:34:47 +00:00
Antoine du Hamel
479f3a68a5
deps: use nanoid/non-secure to workaround react-native limitation (#3350)
Fixes: https://github.com/transloadit/uppy/issues/3340
2021-12-09 15:33:25 +01:00
Artur Paikin
d202a8e940
audio: new @uppy/audio plugin for recording with microphone (#2976)
* 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>
2021-12-06 17:06:51 +00:00
Antoine du Hamel
9380cf575c
build: disable loose transpilation for legacy bundle (#3329)
* Revert "Convert sets to arrays prior to using spread operator to enable transpilation to ES5 (#3297)"

This reverts commit a545c66d10.

* build: disable loose transpilation for legacy bundle

Refs: https://github.com/transloadit/uppy/pull/3297#issuecomment-963228990
2021-11-24 23:12:14 +01:00
Merlijn Vos
00094af525
Refactor locale scripts & generate types and docs (#3276)
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
2021-11-10 11:43:04 +01:00
Kevin van Zonneveld
bfe659820e
Upgrade linting to 2.0.0-0 (#3280)
* Upgrade linting to 2.0.0-0

* Adjust so we can pass without error

* Fix linting

* Update header-blacklist.js

* Update index.js

* Update Uppy.js

* Update Components.js

* Update StatusBar.js

* Update Assembly.js

* Upgrade to linting 2.0.0 (final release)
2021-11-09 11:19:05 +00:00
John Adair
a545c66d10
Convert sets to arrays prior to using spread operator to enable transpilation to ES5 (#3297) 2021-11-05 15:28:21 +00:00
Artur Paikin
6e4884f559
Required meta fields UI (#3285)
* 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
2021-11-05 15:00:43 +00:00
Mikael Finstad
56a67de550
Close window on auth callback error and show error to user (#3143)
* 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>
2021-09-30 18:07:27 +07:00
Antoine du Hamel
d69031524c
@uppy/core: move Uppy class to its own module (#3225)
* @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>
2021-09-28 19:04:33 +02:00
Antoine du Hamel
b364708715
@uppy/transloadit: fix unhandledPromiseRejection failures (#3197)
* @uppy/transloadit: fix unhandledPromiseRejection failures

Fixes: https://github.com/transloadit/uppy/issues/3189

* Add transloadit2 to end2end test matrix
2021-09-16 15:24:20 +02:00
Merlijn Vos
6e0ceeaba7
Update Google Drive for brand compliance (#3178) 2021-09-08 19:27:20 +02:00
Artur Paikin
dbe3ed25b3
build: add stylelint (#3124)
* 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
2021-08-24 01:37:57 +01:00
Artur Paikin
17b361a286
Core: rename allowMultipleUploads to allowMultipleUploadBatches (#3115)
* allowNewUpload  --> allowMultipleUploadBatches

* noNewAlreadyUploading --> noMoreFilesAllowed

* Disallow drag-drop when allowNewUpload: false in Core

* Fix tests

* add deprecation notice to types

* Update Dashboard.js
2021-08-23 13:19:40 +01:00
Antoine du Hamel
ec87b232e9
meta: enforce no-unused-vars linter rule (#3118)
* meta: enforce `no-unused-vars` linter rule

* meta: fix `@typescript-eslint/no-unused-vars` linter warnings

* meta: enforce `no-unused-expressions` lint rule

* @uppy/companion: fix `tsc` build
2021-08-23 13:10:17 +01:00
Antoine du Hamel
0b801ccbad
@uppy/core: reject empty string as valid value for required meta fields (#3119) 2021-08-20 13:47:31 +01:00
Antoine du Hamel
6b7ad5e7c7
Stricter linter (#3095)
* 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
2021-08-17 20:32:57 +02:00
Merlijn Vos
a3aac6ba4c
Create onUnmount in UIPlugin for plugins that require clean up (#3093)
- 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
2021-08-17 14:52:06 +02:00
Artur Paikin
472766e48b
UIPlugin fix: prevent Preact replacing contents of body element by using createDocumentFragment (#3072)
* 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
2021-08-06 10:02:11 +01:00