Web Upload lacks early feedback when choosing large amounts of files #21479
adrianjost
started this conversation in
Feature Request
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
I have searched the existing feature requests, both open and closed, to make sure this is not a duplicate request.
The feature
When selecting a large number of files (like 150, 12MP images, or a couple of videos), the input
change
event (web/src/lib/utils/file-uploader.ts) is only triggered after a couple of seconds or even minutes on slower smartphones. During this time, the website does not know that any files were selected at all, and no UI is updated.This makes it a really bad experience when ingesting data, because you don't know if something is happening or not.
Especially when using the shared album with upload function, to let friends upload their vacation images, and they don't know about this limitation.
I've built a prototype to verify this:
Unfortunately this seems out of our control, and is likely caused by the browser having to load all these images first, before it can create the change event that contains all the file references. At least that's all the info I found when searching the internet for similar issues.
The
showOpenFilePicker
API is much faster in initially returning something, while then requiring the developer to fetch all files via async APIs. But that can be shown as progress to the user.The downside of this new API is that it isn't supported in Firefox and Safari yet, and on Chrome Android, it is not possible to trigger the MediaPicker, instead of the FilePicker. But this already only works by heuristics and is not working in Chrome browsers at the moment, according to this issue and my testing.
I would like to give it a try to implement the new picker API as a progressive enhancement and open a PR for this, but would like to get your general feeling for this, before putting any more work into it. What are your thoughts
Here is a more complete demo of the new and old API.
I have mainly seen the difference with an S24 device with the latest Chrome, when selecting ~100 Images and a couple of 10s videos. On my MacBook M1 Pro, the issue was way less obvious, but when dragging media that is on a slow external HDD, it became slightly visible too.
Platform
Beta Was this translation helpful? Give feedback.
All reactions