* meta: add release automations
* Add missing versions
* remove old scripts that are no longer useful
* add special casing for robodog
* skip fetching if HEAD is already available locally
* Publish to npm from GitHub actions
* fixes
* Update afterVersionBump script
* Fix getUpToDateRefsFromGitHub script
* Make sub-package specific changelogs
* fix git and PR opening process in GH Actions
* fix Release action
* don't fetch GH user names in changelog
* add support for commits that touch several packages
* add website as a valid commit message prefix
* Assign the PR to the releaser and fix other GH related bugs
* Remove release branch from CI
* Restore git history at the end of local release session
* skip CI if assignee has not approved the PR
* fix release commit message
* beautify commit message
* Special case for @uppy/robodog
* Failure is not an option
* Rename release CI
* Always rewind before crashing
* Improve logging
* fix changelog table
* fix linter
* Update CONTRIBUTING.md
* Remove unused package
* Disable Release workflow between two releases
* Fix git command and workaround deleted branch
* 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>
* rewrite to async/await
* Only fetch size (HEAD) if needed #3034
* Update packages/@uppy/companion/src/server/controllers/url.js
Co-authored-by: Antoine du Hamel <duhamelantoine1995@gmail.com>
* Change HEAD to GET in getURLMeta
and abort request immediately upon response headers received
https://github.com/transloadit/uppy/issues/3034#issuecomment-908059234
* fix lint
* fix lint
* cut off length of file names
or else we get
"MetadataTooLarge: Your metadata headers exceed the maximum allowed metadata size" in tus / S3
* try to fix flaky test
* remove iife and cleanup code a bit
* fix lint by reordering code
* rename Uploader to MultipartUploader
* Rewrite Uploader to use fs-capacitor #3098
This allows for upload to start almost immediately without having to first download the file.
And it allows for uploading bigger files, because transloadit assembly will not timeout,
as it will get upload progress events all the time.
No longer need for illusive progress.
Also fix eslint warnings and simplify logic
Still TODO: TUS pause/resume has a bug:
https://github.com/tus/tus-js-client/issues/275
* add comment in dev Dashboard and pull out variable
* fix a bug where remote xhr upload would ignore progress events in the UI
* fix bug where s3 multipart cancel wasn't working
* fix also cancel for xhr
* Rewrite providers to use streams
This removes the need for disk space as data will be buffered in memory and backpressure will be respected
https://github.com/transloadit/uppy/issues/3098#issuecomment-907763809
All providers "download" methods will now return a { stream } which can be consumed by uploader.
Also:
- Remove capacitor (no longer needed)
- Change Provider/SearchProvider API to async (Breaking change for custom companion providers)
- Fix the case with unknown length streams (zoom / google drive). Need to be downloaded first
- rewrite controllers deauth-callback, thumbnail, list, logout to async
- getURLMeta: make sure size is never NaN (NaN gets converted to null in JSON.stringify when sent to client but not when used in backend)
- fix purest mock (it wasn't returning statusCode on('response'))
- add missing http mock for "request" for THUMBNAIL_URL and http://url.myendpoint.com/file (these request errors were never caught by tests previously)
- "upload functions with tus protocol" test: move filename checking to new test where size is null. Fix broken expects
- fix some lint
* Implement streamingUpload flag
COMPANION_STREAMING_UPLOAD
Default to false due to backward compatibility
If set to true, will start to upload files at the same time as dowlnoading them, by piping the streams
- Also implement progress for downloading too
- and fix progress duplication logic
- fix test that assumed file was fully downloaded after first progress event
* rearrange validation logic
* add COMPANION_STREAMING_UPLOAD to env.test.sh too
* implement maxFileSize option in companion
for both unknown length and known length downloads
* fix bug
* fix memory leak when non 200 status
streams were being kept
* fix lint
* Add backward-compatibility for companion providers
Implement a new static field "version" on providers, which when not set to 2,
will cause a compatibility layer to be added for supporting old callback style provider api
also fix some eslint and rename some vars
* document new provider API
* remove static as it doesn't work on node 10
* try to fix build issue
* degrade to node 14 in github actions
due to hitting this error: https://github.com/nodejs/node/issues/40030https://github.com/transloadit/uppy/pull/3159/checks?check_run_id=3544858518
* pull out duplicated logic into reusable function
* fix lint
* make methods private
* re-add unsplash download_location request
got lost in merge
* add try/catch
as suggested https://github.com/transloadit/uppy/pull/3159#discussion_r727149263
* Only set default chunkSize if needed
for being more compliant with previous behavior when streamingUpload = false
* Improve flaky test
Trying to fix this error:
FAIL packages/@uppy/utils/src/delay.test.js
● delay › should reject when signal is aborted
expect(received).toBeLessThan(expected)
Expected: < 70
Received: 107
32 | const time = Date.now() - start
33 | expect(time).toBeGreaterThanOrEqual(30)
> 34 | expect(time).toBeLessThan(70)
| ^
35 | })
36 | })
37 |
at Object.<anonymous> (packages/@uppy/utils/src/delay.test.js:34:18)
https://github.com/transloadit/uppy/runs/3984613454?check_suite_focus=true
* Apply suggestions from code review
Co-authored-by: Antoine du Hamel <duhamelantoine1995@gmail.com>
* fix review feedback & lint
* Apply suggestions from code review
Co-authored-by: Merlijn Vos <merlijn@soverin.net>
* remove unneeded ts-ignore
* Update packages/@uppy/companion/src/server/controllers/url.js
Co-authored-by: Antoine du Hamel <duhamelantoine1995@gmail.com>
* Update packages/@uppy/companion/src/server/Uploader.js
Co-authored-by: Antoine du Hamel <duhamelantoine1995@gmail.com>
* reduce nesting
* fix lint
* optimize promisify
https://github.com/transloadit/uppy/pull/3159#discussion_r738160576
* Update packages/@uppy/companion/test/__tests__/uploader.js
Co-authored-by: Antoine du Hamel <duhamelantoine1995@gmail.com>
Co-authored-by: Antoine du Hamel <duhamelantoine1995@gmail.com>
Co-authored-by: Merlijn Vos <merlijn@soverin.net>
* meta: upgrade ESLint to v8.0.0
Forcing `@typescript-eslint/experimental-utils` resolution to `5.0.0` to work around the Angular linter bug. This can be removed when we move to Angular 13.
* Remove unnecessary entries from `.eslintignore`
- `private/remark-lint-uppy/index.js`: ESLiint v8 supports TLA
- `website/private_modules/hexo-renderer-uppyexamples/node_modules/**`:
all `node_modules` folder are ignored anyway.
* refactor cors middleware to avoid duplicates
* Make more ACAH headers default
Add the following headers to access-control-allow-headers by default:
Authorization, Origin, Content-Type, Accept
They are needed for basic operation. See https://github.com/transloadit/uppy/issues/3021
therefore also remove custom middlewares in examples and standalone
* Update outdated readme for S3
AWS now requires JSON instead of XML format
* Update packages/@uppy/companion/src/server/middlewares.js
Co-authored-by: Antoine du Hamel <duhamelantoine1995@gmail.com>
* Update packages/@uppy/companion/src/server/middlewares.js
Co-authored-by: Antoine du Hamel <duhamelantoine1995@gmail.com>
* fix review comments
Co-authored-by: Antoine du Hamel <duhamelantoine1995@gmail.com>
* 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
* 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`