Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

File download gives no user feedback .... #526

Closed
DeepDiver1975 opened this issue Jan 21, 2019 · 10 comments
Closed

File download gives no user feedback .... #526

DeepDiver1975 opened this issue Jan 21, 2019 · 10 comments
Labels
feature:files Priority:p3-medium Normal priority Type:Bug Something isn't working
Milestone

Comments

@DeepDiver1975
Copy link
Member

DeepDiver1975 commented Jan 21, 2019

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

@DeepDiver1975
Copy link
Member Author

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

@DeepDiver1975 DeepDiver1975 added the Type:Bug Something isn't working label Jan 21, 2019
@DeepDiver1975 DeepDiver1975 added this to the Future: Sprint 3 milestone Jan 21, 2019
@scramb
Copy link
Contributor

scramb commented Jan 24, 2019

maybe this could help us.
https://developer.mozilla.org/en-US/docs/Web/API/Streams_API/Using_readable_streams

@DeepDiver1975
Copy link
Member Author

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

@PVince81
Copy link
Contributor

PVince81 commented Sep 6, 2019

@LukasHirt closed through #1895 or is there more to do ?

@LukasHirt
Copy link
Collaborator

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

@PVince81
Copy link
Contributor

Ouch.

Would using pre-signed URLs for download be a better approach, if browsers allow to trigger a download from another domain ?

@PVince81
Copy link
Contributor

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.

@PVince81 PVince81 added this to the Milestone 1: Phoenix for users milestone Sep 24, 2019
@LukasHirt
Copy link
Collaborator

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 PVince81 modified the milestones: Milestone 1: Phoenix for users, backlog Sep 26, 2019
@LukasHirt LukasHirt removed their assignment Sep 27, 2019
@DeepDiver1975
Copy link
Member Author

@PVince81 still an issue? Feel free to close if resolved - THX

@PVince81 PVince81 mentioned this issue Mar 16, 2020
9 tasks
@DeepDiver1975
Copy link
Member Author

Closing this - pre-signed urls are the way to go ....

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature:files Priority:p3-medium Normal priority Type:Bug Something isn't working
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants