Commit graph

206 commits

Author SHA1 Message Date
Evgenia Karunus
8ac57c1ad8 Fix log duplication and excessive ResizeObserver log (#1747)
* everywhere - decorative changes

* /examples - fix duplicate logs in examples

* @uppy/dashboard - only fire the safety resize if we're not in a closed modal

* website/examples - made sure console.debug works in IE10
2019-08-05 15:16:10 +03:00
Renée Kooi
d05f37488d
core: use setFileState inside retryUpload (#1759)
Makes it a bit easier to follow. It also logs a warning now when you do
`.retryUpload(SomeNonsenseFileID)` instead of silently adding an invalid
object to the state.
2019-07-31 14:46:49 +02:00
Elio Capella Sánchez
ef2cf98de4 Improve addFile API (#1739)
* return file id of added files

* add documentation for returned value

* fix linting

* update test to new addFile API

* add docs for the change in the addFile API
2019-07-19 14:48:08 +02:00
Renée Kooi
10bc79574e
lerna link convert (#1730)
* lerna link convert

* ci: use npm ci

* update lockfile

* companion: set `bin` to source file

Since typescript doesn't actually transform anything, we can just use
this.

In a next major version we could set `noEmit: true` in the tsconfig and
stop publishing `lib`.

* companion: do chmod +x on start-server.js

* build: remove obsolete lerna config

* build: explicitly install latest versions when building e2e tests for ci

* Remove versions from private packages

* fix regex

* try fix

* ci: force npm to install to endtoend folder

* ci: fold up e2e build output

* Update netlify deploy preview command

* Remove mentions of npm run bootstrap

* Edit .github/CONTRIBUTING.md instead

* companion: add proxy executable

* companion: fix publish

* Downgrade jest to appease create-react-app
2019-07-19 12:16:36 +02:00
Artur Paikin
bd2beedcff Release 2019-07-18 17:21:42 +02:00
Artur Paikin
b3902a1dfc
provider-views: Select 5 files --> Select 5, because there are also folders (#1697)
* Select 5 files --> Select 5, because there are also folders

not ideal, but better

* selectXFiles --> selectX

* update selectX in all locales

* Update fi_FI.js
2019-07-18 14:42:38 +02:00
Artur Paikin
dc4e982280 remove prettier-bytes from dependencies, follow up for #1732 2019-07-17 19:53:14 +02:00
Renée Kooi
b42f904f2b core: adjust ID generation to keep non-latin characters (#1722)
* core: add test for ID generation with non-latin names

* core: adjust ID generation to keep non-latin characters

This shouldn't be bc-breaking!

Now, non-latin characters are encoded as their charcode in base 32, so
files that only differ by name in a non-latin language will generate
different IDs.
2019-07-17 16:12:51 +02:00
Artur Paikin
7873f057ca
utils: prettyBytes 1000 --> 1024 (#1732)
* Replace prettier-bytes with its copy, only use 1024 instead of 1000 to justify KB vs kB

* Add tests

* added License

* pretty-bytes to @uppy/utils/lib/prettyBytes everywhere
2019-07-16 15:21:47 +02:00
Artur Paikin
6b173d8c78
core: Restrictions improvements (#1726)
* Set file.type before calling onBeforeFileAdded, throw in upload so .catch works, emit restriction-failed for minNumberOfFiles, too

We must throw in upload onError, otherwise .catch won’t catch

* It seems startUpload is not used in Dashboard, used in StatusBar instead

probably a leftover from before StautsBar became a standalone plugin

* only log non-restriction errors

* throw early if restrictions.allowedFileTypes is not an array

* flip condition: do emit the event if err.isRestriction
2019-07-15 14:10:04 +02:00
Evgenia Karunus
70acbf7861 Adjust i18n (#1712)
* @uppy/locales - updated Nl translation as per Kevin

* @uppy/provider-views - moved all translations to Core, removed dependency on Dashboard

* @uppy/locales - added missing translations for 'Add more'
2019-07-12 18:04:42 +02:00
Evgenia Karunus
e72c305e0a
Merge pull request #1701 from transloadit/add-pretty-focus-styles-everywhere
Added focus styles for all elements
2019-07-07 19:51:51 +02:00
Artur Paikin
e1f416d019
core: Add an option to supply logger with debug, warn and error methods (#1661)
* Add an option to supply customLogger that will receive message and type from uppy.log

* Always use logger function, set to nullLogger by default

Co-Authored-By: Renée Kooi <github@kooi.me>

* add tests for logging and not logging with a function and debug: true

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

account for `debug` not being available in IE10

Co-Authored-By: Renée Kooi <renee@kooi.me>

* add .call

* fix tests

* expose Uppy.debugLogger

* document logger

* core cleanup

* add logger to defaultOptions in docs too

* debug: true — only override logger if it has not been set in opts
2019-07-05 20:12:43 +02:00
Renée Kooi
8485fec03a
Progress fixes for unsized files (#1610)
* core: consistently use round() for progress calculations

* core: fix the estimated size for unsized files
2019-07-05 15:59:26 +02:00
Evgenia Karunus
f88b0c5bc1 Add translations for aria labels in provider views (#1696)
* @uppy/provider-views - added translations for aria-labels

* @uppy/locales - added translations for provider views
2019-07-05 15:37:13 +03:00
Evgenia Karunus
bbf0b33bcb everywhere - added focus styles for every element 2019-06-29 09:02:08 +05:00
Artur Paikin
5e35987079
Log error in uppy.addFile try/catch (#1680)
* Log error in uppy.addFile try/catch

* Add `.isRestriction` to a custom RestrictionError, check for that before logging

* keep throwing for robodog.upload

//cc @goto-bus-stop
2019-06-28 20:25:17 +03:00
Alexander Zaytsev
3b4547fa2c More design improvements (#1574)
* Better focus styles

* Improve focus on the remove button

* "Add more" caption to the "+" button (todo: i18n)

* Add i18n (todo: check)

* Fix icon size

* Try removing file source (todo: remove icons)

* Simplify caption

* Revert "Try removing file source (todo: remove icons)"

This reverts commit 20c5ecb554.

* (WIP) Use icons for Edit / Copy link actions

* Class names optimizing

* Subtle shadows

* Optimize code, align action icons on smaller screens

* Reduce Tab-btn horizontal padding on mobile

* Fix padding

* i18n

* replace arabic with persian

* initial refactor

* primarily FileItem's css - reintegrated Alex's changes

* @uppy/dashboard - unnested subcomponents from ./components

* @uppy/dashboard scss - added some spacing as per conventions

* @uppy/dashboard - changed behaviour of truncateString() to always return a predictable number of symbols

* @uppy/dashboard - subdivided FileItem.js and its css into smaller files

Removed unused css classes, made filenames avoid overflow

* @uppy/dashboard - removed unused .currentWidth prop, FileItem.js - made fileName take up at most 2 lines

* test:endtoend:prepare-ci - fix test by reordering locale lines

* @uppy/dashboard - decorative FileItem.js changes

* @uppy/dashboard - made css of FileItem.js more flat

* @uppy/Dashboard - in FileItem.js made max filename length 30 symbols

* fix image getting width: 100% in DashboardFileCard

//cc @lakesare

* FileItem.scss - removed tagnames
2019-06-28 15:20:04 +03:00
Artur Paikin
81a45a01ed eslint jsdoc fixes 2019-06-25 18:27:48 +03:00
Renée Kooi
a6d3132848
core: make meta.name not required in addFile() (#1629) 2019-06-19 10:34:58 +02:00
Andrew Shini
01da52ae22 Check for existing upload (#1367)
* Check for currentUpload

* Update comment
2019-06-17 14:35:50 +02:00
Artur Paikin
9c2bcc8df8
core: Log versions of Uppy plugins for debugging (#1640)
* Log Core’s version in constructor, log each plugin’s version in .use()

* Check that Plugin.VERSION exists before logging it

* Log which DOM element we are mounting to
2019-06-12 21:04:38 +03:00
Evgenia Karunus
6bcf2040e9 Feature/accessibility (#1507)
* @uppy/provider-views - added accessibility

* @uppy/provider-views - simplified checkbox css

* @uppy/dashboard - on tab set focus to the current verlay

* @uppy/dashboard - factored out code related to focus into a separate file

* @uppy/dashboard, and connected plugins - made focus travel well, and be managed in a single place in Dashboard

* @uppy/dashboard - made modal opener button focus keep focus on modal close

* @uppy/dashboard - focus management for uploaded-files

* @uppy/dashboard - made informer read messages without interruption

* @uppy/provider-views - removed the bug of focus jumping on safari

* @uppy/dashboard - made focus travel well in instagram in firefox

* @uppy - moved lodash.debounce dependency from / to @uppy/dashboard

* everywhere - made <ul>s not focusable for firefox

* @uppy/provider-views - unnested scss, copypasted alex's :focus changes

* Added JSDoc eslint package and rules, and fixed some JSDoc comments

* .eslintrc - made jsdoc errors warnings instead

* package-lock.json for new package.json

* eslint fix

* @uppy/dashboard - avoid forcing focus when we are inline

* @uppy/dashboard - in firefox, made sure superfocus is not switching back to uppy

* @uppy/dashboard - no focus jump for .info() inline,  fix for firefox

Made focus not interrupt .info() when we are in the inline mode;
Made firefox start superfocusing when we either tab into, or click on some element in Uppy

* @uppy/dashboard - only listen to click/focus on uppy

* @uppy/dashboard - started trapping focus in inline mode too

* @uppy/dashboard - restricted trapFocus() event listener to this.el

* @uppy/core - started throttling progress emits.

1. To fix heat up in firefox
2. To fix focus in firefox

* @uppy/core - fixed tests by adding .flush()-s for progress emits

* @uppy/dashboard - stopped trapping focus in inline mode, made background inert

* @uppy/dashboard - added MutationObserver polyfill

* tests - made locale-packs.js pass

* REVERTED last 3 commits that introduced inert

Inert requires too many polyfills, atm tests fail in IE 10.0, wicg-inert library reportedly has performance issues. We decided to at least wait until _some_ browser introduce inert html property natively.

* @uppy/dashboard - IE11 fix for focusing

* @uppy/dashboard - fix for a bug in Safari for long uploads with checkbox clicking

* RERUN TESTS - tiny commit to rerun tests

* @uppy/dashboard - removed useless touchstart event listener

* Cancel superFocus in recordIfFocusedOnUppyRecently, when focus moves away from Uppy

* @uppy/provider-views - made Filter not swallow letters

* @uppy/dashboard - stopped superfocus from refocusing if we're already in the overlay
2019-06-11 19:10:32 +03:00
Jan Klimo
03c3c5b1e9 Enable partial assignment of restrictions passed as options (#1654) 2019-06-11 14:19:10 +02:00
Artur Paikin
28d235fe2f Release 2019-06-05 19:07:20 +03:00
Renée Kooi
b64705fce2
New sync version (#1600)
New sync version
2019-06-05 16:19:48 +02:00
Renée Kooi
a508cf7c44 core: use uploadStarted: null instead of false (#1628)
* core: use `uploadStarted: null` instead of false

Fixes #1615

* Update jest snapshots
2019-06-04 19:16:36 +03:00
Renée Kooi
980210f76c
Add VERSION properties to all plugins.
And remove the proposal-object-rest-spread plugin because it is built
into preset-env now.
2019-05-27 16:53:47 +02:00
Renée Kooi
1407763f5f
Fix more type import cycles 2019-05-20 11:31:21 +02:00
Renée Kooi
007195355a
Fix type import cycles 2019-05-20 11:29:10 +02:00
Renée Kooi
f97b3931bb
Upgrade eslint. 2019-05-20 11:28:44 +02:00
Artur Paikin
5c9e1a836d Release 2019-05-17 19:17:03 +03:00
Renée Kooi
1ad322497f
Release 2019-05-08 15:27:15 +02:00
Renée Kooi
fb053444f1 pin preact to 8.2.9 (#1513)
Webpack likes to pick the ES module versions of modules over CJS
versions. So, if we do `require('preact')`, we can get the ES module
version of it. preact in version 8.3.0 switched its file extension
from `.esm.js` to `.mjs`, which in webpack's default configuration meant
the module implementation became much stricter. The result is that we
get a different value in `require('preact')`.

This older version of preact doesn't use `.mjs` yet so we can safely
`require('preact')` it in webpack. It still picks the ESM version, but
now it uses the looser implementation which is interchangeable for our
purposes.
2019-05-01 15:06:44 +02:00
Artur Paikin
25d4b3678b Release 2019-04-25 23:03:25 +03:00
Artur Paikin
4938e21c76 hot fix for crazy totalProgress
//cc @goto-bus-stop
2019-04-25 22:08:13 +03:00
Artur Paikin
103116e48c make “authenticate with” translatable with i18n 2019-04-23 18:03:03 +03:00
Artur Paikin
0f95529cc5 Release 2019-04-19 15:46:25 +03:00
Artur Paikin
749cc1388b add “Loading...” from providers to i18n so we can translate it 2019-04-19 15:04:41 +03:00
Alexander Zaytsev
c6f9486c88 Harmonize the default dashed border w/ the drag to upload state 2019-04-18 16:24:57 +03:00
Artur Paikin
d140c2f465
Merge pull request #988 from transloadit/feature/react-native
Basic React Native support
2019-04-17 18:22:06 +03:00
Artur Paikin
16b114d2aa
Merge pull request #1452 from nqst/design-facelift-2
Design facelift — round 2
2019-04-17 17:46:49 +03:00
Artur Paikin
28fce1a137 Default locale for all plugins (#1443)
* first swing at building locale pack

* expose default locale on the plugin instance

* write a pretty en_US locale to a file, using stringify-object and template.js

* generated locale pack

* start adding a script that checks for unused locale strings

Co-Authored-By: Kevin van Zonneveld <kevin@transloadit.com>

* Update bin/build-locale-pack.js

* Console output improvements

* Also sort plugin locale keys

* Support dependencies when digging up sources

because e.g. 'emptyFolderAdded' is used in provider-views but set in Dashboard's defaultLocale

* More complex matching

So can can support cases like: `uppy.i18n(error.isAuthError ? 'companionAuthError' : 'companionError')`

* Remaining const defaultLocale -> this.defaultLocale

* Update packages/@uppy/locales/en_US.js

* Mock browser environment so all plugins can be instantiated

* Clean up output a bit

* Update bin/build-locale-pack.js

* Add all remaining plugin's locales to en_US bundle

* Update packages/@uppy/dashboard/src/index.js

* Update en_US.js

Co-Authored-By: Kevin van Zonneveld <kevin@transloadit.com>

* remove unused strings

Co-Authored-By: Kevin van Zonneveld <kevin@transloadit.com>

* Also write csv because that makes it real easy to import to friendlier places for translators /cc @arturi

* don’t set locale: this.defaultLocale — it overrides the lang pack

Co-Authored-By: Kevin van Zonneveld <kevin@transloadit.com>

* Add 'russian plural' for english, for consistency

Allows us to signal that this is possible in new target languages, and also run better linting

* Cleanup

* No longer write csv

* WIP for NL

* Create package.json

Co-Authored-By: Kevin van Zonneveld <kevin@transloadit.com>

* move locales to /src

Co-Authored-By: Kevin van Zonneveld <kevin@transloadit.com>

* ignore locales themselves

Co-Authored-By: Kevin van Zonneveld <kevin@transloadit.com>

* build minified locale packs

Co-Authored-By: Kevin van Zonneveld <kevin@transloadit.com>

* expose Uppy.locale = {} placeholder object

Co-Authored-By: Kevin van Zonneveld <kevin@transloadit.com>

* Update ru_RU.js

Co-Authored-By: Kevin van Zonneveld <kevin@transloadit.com>

* add locale bundles to example

Co-Authored-By: Kevin van Zonneveld <kevin@transloadit.com>

* Upload locales to cdn

* Allow to run tests with upload-to-cdn by setting a versionSuffix

* Move locale build to function, to make room for test()

* Bring ru_RU in sync with English

now that we've added 3 plural types across the board

* Document using locales as a consuming dev, and plugin dev

* Add linting for missing/excess locale strings

* Add the locales we had to remove to the legacy folder

and explain why they cannot make it back

* Move legacy outside of src so they are definitely not transpiled, etc

* Update packages/@uppy/locales/src/nl_NL.js

* Update website/src/docs/uppy.md
2019-04-17 13:34:23 +02:00
Alexander Zaytsev
47d951c78c Merge remote-tracking branch 'upstream/master' into design-facelift-2 2019-04-17 10:20:35 +03:00
Artur Paikin
6881eef6f3
Merge pull request #1431 from transloadit/feature/tl-cancel
transloadit: Assembly cancellation
2019-04-16 17:17:50 +03:00
Alexander Zaytsev
b14cb53754 Merge remote-tracking branch 'upstream/master' into design-facelift-2 2019-04-16 10:09:58 +03:00
Renée Kooi
f2238895a4
core: fix logging objects 2019-04-15 16:55:01 +02:00
Alexander Zaytsev
3a40bb7d15 Better btn-links 2019-04-15 10:43:34 +03:00
Alexander Zaytsev
ecf18c4d9f Merge remote-tracking branch 'upstream/master' into design-facelift 2019-04-11 15:51:33 +03:00
Alexander Zaytsev
6e6888b592 Cleanup 2019-04-11 15:25:58 +03:00