madisonmlin opened a new issue, #3842:
URL: https://github.com/apache/texera/issues/3842

   **Issue**
   This issue re-addresses part of a larger issue, 
https://github.com/apache/texera/issues/3404, which describes how the download 
of workflow results and datasets (both single-file and multi-file downloads) 
does not trigger any progress indicator by the browser. This issue specifically 
addresses the lack of progress indicator for single-file dataset downloads.
   
   Absence of a progress indicator means that, for large files, users see no 
feedback about the download progress until the file suddenly finishes 
downloading. This creates poor user experience because it causes uncertainty 
about the download status.
   
   When the browser handles a file download, its download UI is displayed, 
including a progress bar to indicate download progress. Currently, the frontend 
receives a pre-signed URL from the backend to download the dataset file. Then, 
it makes a request to the pre-signed URL for the file to be downloaded to 
JavaScript memory as a Blob, and writes the Blob into the local filesystem. 
Because the browser does not handle the download, the download UI with progress 
bar is not shown.
   
   **Fix**
   To switch downloads for single-file datasets specifically to use browser 
downloads, we can directly click on the pre-signed URL in the frontend rather 
than making a request to it, allowing the browser to handle the download. 
   
   The browser will perform the download solely based on what is given to it in 
the pre-signed URL. Currently, the pre-signed URL is generated using the LakeFS 
API endpoint, which does not allow for customization of headers used in the 
download. Without being able to set headers like `Content-Disposition` to 
specify filename and filetype, the downloaded file will default to a general 
filetype and a long, uninterpretable filename. To address this issue, we can 
instead use the S3 Gateway API to generate the pre-signed URL, which allows for 
customization of headers. 


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to