As soon as the user hits the download button the button will mutate into a small spinning wheel to give user feedback.
It will spin until the download is finished.
This is a simplistic approach which will work on older browsers as well.
In the future we can add more advanced features.
We do not show any progress but only an endless spinner to tell the user that there is something going on
This is related to the fact that we use fetch api to get the file and work on the blob response.
Needs research for a different approach
maybe this could help us.
https://developer.mozilla.org/en-US/docs/Web/API/Streams_API/Using_readable_streams
Alternative approach (read somewhere on the web):
background: the current implementation is only neccessary because we cannot inject the bearer token into the browser for upcoming events ....
@LukasHirt closed through https://github.com/owncloud/phoenix/pull/1895 or is there more to do ?
@LukasHirt closed through #1895 or is there more to do ?
@PVince81 Not really sure if it can be closed. There is still the issue that the "browser" download starts after the file is downloaded in the background due to the cross-origin download. So if you leave the Phoenix the download will get cancelled. That PR is more about at least telling the user that the download is happening so he doesn't try to download the file multiple times.
Ouch.
Would using pre-signed URLs for download be a better approach, if browsers allow to trigger a download from another domain ?
So if you leave the Phoenix the download will get cancelled
This feels like pretty bad UX to me. I'm the kind of person who usually starts a few downloads, then logs out of the system and goes on to another browser tab.
Would using pre-signed URLs for download be a better approach, if browsers allow to trigger a download from another domain ?
let's try to investigate this option - could be a nice solution.
This feels like pretty bad UX to me
Yes, it's bad. Problem is also that the feedback for user is not really clear since he doesn't get the download dialog/item in the bottom bar of browser directly he can think nothing happened. That's why the disabled state for the download button was implemented to prevent triggering same download multiple times.
@PVince81 still an issue? Feel free to close if resolved - THX
Closing this - pre-signed urls are the way to go ....