These are ideas that are planned for specific versions or act as a backlog without a clear date. PRs are welcome! Please do open an issue to discuss first if it's a big feature, priorities may have changed after something was added here.
- Switch to ES Modules (ESM)
- @uppy/image-editor: Remove silly hack to work around non-ESM.
- Some not too breaking breaking changes. Go through TODOs (@arturi, @aduh95, @Murderlon)
- Companion breaking changes, like S3 keys (@mifi)
- New remote-sources preset
- Deprecate Robodog
- Remove from 3.x branch (@aduh95)
- Update docs that refer to Robodog (@arturi)
- Update Transloadit.com examples and docs to use @uppy/transloadit + @uppy/remote-sources plugins instead of @uppy/robodog (@arturi)
- core: change the preprocessing --> uploading flow to allow for files to start uploading right away after their preprocessing step has finished. See #1738 (@goto-but-stop)
- companion: add more reliable tests to catch edge cases in companion. For example testing that oauth works for multiple companion instances that use a master Oauth domain.
- Consider updating the name of @uppy/aws-s3 and @uppy/aws-s3-multipart to reflect it also supports Google Cloud Storage, Wasabi, and other cloud providers.
- Consider fixing all locale files to follow the bcp-47 standard (nl_NL --> nl-NL)
- Make sure Uppy works well in VR
- normalize file names when uploading from iOS? Can we do it with meta data?
date?
image-${index}
? #678 - Can Uppy upload a lot of files at once? Seems to fail now: #3313 (@aduh95, @Murderlon)
- Consider how we can make Uppy smaller. Replace some packages with smaller alternatives. Talk about Socket.io again (@aduh95)
- Better events — more data, consistency, naming (@Murderlon)
- Dashboard UI should support 20 providers (@arturi)
- Allow minimizing the Dashboard during upload (Uppy then becomes just a tiny progress indicator) (@arturi)
- Display data like image resolution on file cards. should be done by thumbnail generator maybe #783
- Possibility to edit/delete more than one file at once. example: add copyrigh info to 1000 files #118, #97
- Possibility to work on already uploaded / in progress files. We'll just
provide the
fileId
to thefile-edit-complete
event so that folks can more easily roll out custom code for this themselves #112, #113, #2063 - Focus jumps weirdly if you remove a file #2161 (comment)
- A mini UI that features drop & progress (may involve a
mini: true
options for dashboard, may involve drop+progress or new plugin) (@arturi) - Add a Load More button so you don't have to TAB endlessly to get to the upload button (#1419)
- WordPress Back-end plugin. Should be another Transloadit Integration based on Robodog Dashboard(?) we should add a provider, and possibly offer already-uploaded content
- WordPress Front-end Gravity Forms Uppy plugin so one form field could be an Uppy-powered file input
- A WakeLock based plugin that keeps your phone from going to sleep while an upload is ongoing #1725
- Improve image editor: filters for images, no crashes (@aduh95)
- Google Photos (#2163)
- MediaLibrary provider which shows you files that have already been uploaded #450, #1121, #1112 #362
- Giphy image search (on top of Unsplash plugin) ()
- Image search (via Google or Bing or DuckDuckGo): use duckduckgo-images-api or Google Search API (@arturi)
- Vimeo #2872
- goldenretriever: make it work with aws multipart https://community.transloadit.com/t/resumable-aws-s3-multipart-integration/14888 (@goto-bus-stop)
- provider: add sorting (by date) #254
- qa: add one integration test (or add to existing test) that uses more
exotic (tus) options such as
useFastRemoteRetry
orremoveFingerprintOnSuccess
#1327 (@arturi, @ifedapoolarewaju) - react: Add a React Hook to manage an Uppy instance #1247 (comment) (@goto-bus-stop)
- rn: Uppy React Native works with Expo, now let's make it work without
- rn: Uppy React Native works with Url Plugin, now let's make it work with Instagram
- security: consider iframe / more security for Transloadit/Uppy integration widget and Uppy itself. Page can’t get files from Google Drive if its an iframe
- statusbar: Add a confirmation of the cancel action
(#1418) as well as ask the user
if they really want to navigate away while an upload is in progress via
onbeforeunload
(@arturi) - uploaders: consider not showing progress updates from the server after an
upload’s been paused. Perhaps the button can be disabled and say
Pausing..
until Companion has actually stopped transmitting updates (@arturi, @ifedapoolarewaju) - xhr: allow sending custom headers per file (as proposed in #785)
- website: It would be nice in the long run to have a dynamic package builder here right on the website where you can select the plugins you need/want and it builds and downloads a minified version of them? Sort of like jQuery UI: https://jqueryui.com/download/
- webcam: Specify the resolution of the webcam images/video. We should add a
way to specify any custom 'constraints' (aspect ratio, resolution,
mimetype (
/video/mp4;codec=h264
), bits per second, etc) to the Webcam plugin #876 - Constructor to build Uppy with what you need, “Dashboard example meets Transloadit Wizard”. Select language, modes, providers — get code ready to use. Maybe integrate Transloadit Wizard in there as well (@arturi, @Murderlon)
- Add a prepublish test that checks if
npm pack
is not massive (@goto-bus-stop) - Add https://github.com/pa11y/pa11y for automated accessibility testing?
- Add lighthouse for automated performance testing?
- Switch one existing e2e test to use Parcel (create-react-app already using webpack) (@arturi)
- Add typescript with JSDoc for @uppy/core https://github.com/Microsoft/TypeScript/wiki/Type-Checking-JavaScript-Files (@arturi)