Web: File download gives no user feedback ....

Created on 21 Jan 2019  路  10Comments  路  Source: owncloud/web

Steps to reproduce

  1. open dev tools, network tab, observe ...
  2. Upload a bigger file (~400MB)
  3. Click on download icon
  4. There is no user feedback until the file is fully downloaded

Expected behaviour

  • the should be immediate user feedback - best would be to popup the save dialog ...

Solution Baseline - minimal requirements - works in all supported browsers

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

Future Solutions for browsers with more capabilities - Not part of this ticket

  • Use stream API (not fully supported anywhere - https://caniuse.com/#feat=streams)
  • Use service workers (not on IE - https://caniuse.com/#feat=serviceworkers)
p3-medium Bug files

All 10 comments

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

Alternative approach (read somewhere on the web):

  • use a one time token - generated by the server via some api
  • add this token to the url as query parameter
  • let the browser handle the url and deal with the download

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 ....

Was this page helpful?
0 / 5 - 0 ratings