* refactor FileProgress component; pass hideCancelButton, hidePauseResumeButton and hideRetryButton
* move icons to where they are rendered, rename UppyIcon to uppy-u-icon
* cleanup: rename DashboardItem, remove xmlns
* update docs to specify the option also hides action button on each individual file
* types: stronger typings
* Remove remaining `declare module` things for uppy.use
* Format types standard-style-like
* Add `target` properties to plugin typings
* Add type for `replaceTargetContent` option
* xhr-upload: allow lowercase method
* opt in to stricter typechecks
* use the strictly typed version in all typings tests
* endtoend: use strict types in typescript test
* Add some comments to the typings file so IDEs will warn about untyped use()
* informer: remove obsolete option from typings
* react: generate prop types based on actual options types
* react: update types
* react: fix import in typings test
* companion-client: add `pluginId` property to ProviderOptions type
Co-Authored-By: Ifedapo .A. Olarewaju <ifedapoolarewaju@gmail.com>
* core: remove some `any` types
* *: add locale string types
* *: generate locale typings
* core: fix LocaleStrings<> type
* dashboard: add locale string type tests
* tus: inherit options typings from tus-js-client
* transloadit: add missing options types
* ci: do the required build steps before testing typings
* Support TokenStorage in types, add `title?: string` options
* form: update typings
* types: put TokenStorage type in dependents
* Document Uppy.StrictTypes
* if we pin at least we should use the latest
* Allow document.querySelector
I think it's a eslint-plugin-compat bug that it's marking querySelector
as not available in Android Chrome 78.
Co-authored-by: Ifedapo .A. Olarewaju <ifedapoolarewaju@gmail.com>
* xhr-upload: redo limit option using different strategy
* xhr-upload: fix marking requests as done
* Move duplicate createEventTracker definitions to @uppy/utils
* tus: new cancellation for local uploads
* tus: fix cancelling queued uploads
* tus: fix wrong name
* aws-s3-multipart: smol refactor
* aws-s3-multipart: new cancellation style
* aws-s3: new cancellation
* utils: port limitPromises test to RateLimitedQueue
* timing fix?
* tus: new cancellation on websocket
* xhr-upload: implement cancellation for remote uploads
* aws-s3-multipart: port to new cancellation
* utils: remove limitPromises
* xhr-upload: remove pause/resume code
* xhr-upload: clean up event listeners
* xhr-upload: extract progress timer to separate class
* Move ProgressTimeout class to utils
* utils: update typings
* Fix lint
* tus: make pause/resume respect the rate limiting queue
* tus: try to explain some of the tricky things at play in the Tus#upload method
* aws-s3-multipart: add missing { abort: true }
* aws-s3-multipart: make pause/resume respect the rate limiting queue
* eslintrc.json - fixed eslint warnings for jsdoc
* Revert "eslintrc.json - fixed eslint warnings for jsdoc"
This reverts commit 50b24773ce.
* eslintrc.json - allow indentation in jsdoc comments
* xhr-upload: fix promise return value
* tus: fix promise return value
* tus: add missing `return () => {}`
* utils: typing export type fixes
* tus: add more jsdoc
* companion-client: add missing SocketOptions type
* utils: fix more export typings
* core,companion-client,tus: more typings tweaking
* companion-client: test fix 😩
* companion-client: add type for Socket#open
* tus: fix emit() call
* add local cancellation fuzz....ish? test
* Update eslint
* Do eslint --fix
* Do not access Object.prototype method 'hasOwnProperty' from target object
* utils: add hasProperty
* eslint --fix
* Disable quote-props for locale files
* add back quotes in locale files
* revert locale files to state on master
* Update react-scripts
* ci: try a fancy matrix
* ci: separate lint build
* build: update some dependencies for node 12 compat
* ci: do typing checks as part of LINT run
* ci: conditionally run ACCEPTANCE and WEBSITE jobs
* ci: is sauce checking domain names or what?
* ci: only build the website when we actually deploy it
* Revert "ci: is sauce checking domain names or what?"
This reverts commit a29fc7ecf9.
* ci: i might have misinterpreted this config?
* ci: rename acceptance → endtoend for consistency
* test: may need to update element reference after click?
* ci: try to only use sauce connect for endtoend runs
* ci: fix sauce_connect property name
* ci: comment the travis config a bit [skip ci]
* build: update webdriverio to v5
* build: update wdio services config syntax
* e2e test updates for wdio 5
* Sync pinned versions between repo root and companion
* build: enable all e2e tests for this PR run
* waitForExist
* test: await browser.url() calls
* test: awaitify url-plugin test
* test: use sauceConnect
* test: upload files to sauce before using them
* fall back to fakechoosefile a lot?
* fall back to fakechoosefile more
* Disable file selection on saucelabs
* test: need to await this thing
* test: make more-sure that the input is visible
* test: use currently low load transloadit region so i dont have to wait
* test: update but disable xhr-limit
* test: change the order
* test: newer firefoxes
* test: change the order back
* kinda sucks that they only have super old browsers on linux
* ci: disable url-plugin and transloadit e2e tests again
* test: use local tus-node-server for integration tests
* test: use envify to check env variables and select appropriate URL
* test: use companion.test:1080 for tus uploads on Travis
* test: fix env vars in typescript and CRA tests
* test: use getBoundingClientRect, may work better in android
* test: try getSize AND getBoundingClientRect
* test: do not check image width in android
* test: allow retrying tests that are prone to flakiness
* test: be more verbose during e2e tests
* test: force <input> visibility in more tests
* test: warn if using test:endtoend not on CI
* Update iOS version
Seems 10.0 is no longer available, and Sauce threw an Appium version
error so i've removed that bit.
* is it the screenshots that are slow?
* drop os version
* test: fix spelling in supportsChooseFile
* trying with appiumVersion and iPhone 8
Synthetic default imports allow you to `import X from 'x'` if `'x'` is a
CommonJS module. Our `uppy` package relied on that (probably forgot to
update it in a previous patch). If users had set
`allowSyntheticDefaultImports: false`, they would not be able to use the
`uppy` package.
We should at some point go through the typings again and set everything
to the tightest options, because that'll work with the widest array of
users, but for now let's just unbreak this particular case.
Fixes#1395