feat: switch workflow result downloads to use browser native downloads - #3728
Merged
aicam merged 68 commits intoOct 11, 2025
Merged
Conversation
aicam
requested changes
Sep 26, 2025
…al vs. dataset download
… of requesting backend token
…a single function
madisonmlin
force-pushed
the
enable-workflow-single-file-download-progress-bar
branch
from
September 28, 2025 23:27
e9b290c to
7fe4a70
Compare
Contributor
…ype (local, dataset)
…ithub.com:madisonmlin/texera into enable-workflow-single-file-download-progress-bar
kunwp1
approved these changes
Oct 7, 2025
kunwp1
left a comment
Contributor
There was a problem hiding this comment.
The changes look good! Thanks.
Contributor
|
@madisonmlin I test it on staging and merge, thanks |
…nload-progress-bar' into enable-workflow-single-file-download-progress-bar # Conflicts: # core/amber/src/main/scala/edu/uci/ics/texera/web/resource/dashboard/user/workflow/WorkflowExecutionsResource.scala # core/gui/src/app/dashboard/service/user/download/download.service.ts # core/gui/src/app/workspace/service/workflow-result-export/workflow-result-export.service.ts
Contributor
|
@madisonmlin Please merge the PR once you resolve the conflicts. Thanks! |
…s-bar Signed-off-by: Xinyuan Lin <xinyual3@uci.edu>
…nload-progress-bar' into enable-workflow-single-file-download-progress-bar
Contributor
|
I just fixed the Kubernetes deployment @kunwp1 |
aicam
pushed a commit
that referenced
this pull request
Oct 16, 2025
…o be separate and symmetric (#3916) ### What changes were proposed in this PR? This PR updates the function names and docstring for workflow result exports to local/dataset to be symmetric. ### Any related issues, documentation, discussions? Refactors #3728. ### How was this PR tested? This PR involves a simple refactoring of the existing workflow result export functionality. Apart from verifying that the functionality has not changed, no additional tests are needed. ### Was this PR authored or co-authored using generative AI tooling? No.
SarahAsad23
pushed a commit
to madisonmlin/texera
that referenced
this pull request
May 20, 2026
apache#3728) ### Purpose ### This pull request partially addresses issue apache#3404 by switching workflow result downloads to use the browser's native download functionality. Using the browser to handle downloads enables the browser's built-in download UI, including a progress bar when downloading larger files. ### Changes ### Previously, we used Angular's `HttpClient` to request the result file from the backend as a `Blob` and download the `Blob` to the local filesystem. Now, we use a standard HTML form submission to request the result file, allowing the browser to handle the download. The backend logic for generating the file stream remains the same. Headers such as `Authorization` (used for Bearer tokens) cannot be added to standard form submissions. To work around this, we pass the JWT token directly as a form parameter and manually check for validity of the token in the backend. We also manually verify that the user role is valid. #### Summary of Changes #### - Changed frontend logic for local workflow result downloads to use a standard form submission instead of `HttpClient` to request the download, allowing the browser to handle the download - Added endpoint to receive form request and authenticate the request via the JWT token before triggering download ### Demonstration ### https://github.com/user-attachments/assets/a2d5278e-5ebf-441f-99bf-ff93d1667271 --------- Signed-off-by: Xinyuan Lin <xinyual3@uci.edu> Co-authored-by: Chris <143021053+kunwp1@users.noreply.github.com> Co-authored-by: ali risheh <ali.risheh876@gmail.com> Co-authored-by: ali <a_icam@yahoo.com> Co-authored-by: Xinyuan Lin <xinyual3@uci.edu>
SarahAsad23
pushed a commit
to madisonmlin/texera
that referenced
this pull request
May 20, 2026
…o be separate and symmetric (apache#3916) ### What changes were proposed in this PR? This PR updates the function names and docstring for workflow result exports to local/dataset to be symmetric. ### Any related issues, documentation, discussions? Refactors apache#3728. ### How was this PR tested? This PR involves a simple refactoring of the existing workflow result export functionality. Apart from verifying that the functionality has not changed, no additional tests are needed. ### Was this PR authored or co-authored using generative AI tooling? No.
yangzhang75
pushed a commit
to yangzhang75/texera
that referenced
this pull request
Jun 22, 2026
apache#3728) ### Purpose ### This pull request partially addresses issue apache#3404 by switching workflow result downloads to use the browser's native download functionality. Using the browser to handle downloads enables the browser's built-in download UI, including a progress bar when downloading larger files. ### Changes ### Previously, we used Angular's `HttpClient` to request the result file from the backend as a `Blob` and download the `Blob` to the local filesystem. Now, we use a standard HTML form submission to request the result file, allowing the browser to handle the download. The backend logic for generating the file stream remains the same. Headers such as `Authorization` (used for Bearer tokens) cannot be added to standard form submissions. To work around this, we pass the JWT token directly as a form parameter and manually check for validity of the token in the backend. We also manually verify that the user role is valid. #### Summary of Changes #### - Changed frontend logic for local workflow result downloads to use a standard form submission instead of `HttpClient` to request the download, allowing the browser to handle the download - Added endpoint to receive form request and authenticate the request via the JWT token before triggering download ### Demonstration ### https://github.com/user-attachments/assets/a2d5278e-5ebf-441f-99bf-ff93d1667271 --------- Signed-off-by: Xinyuan Lin <xinyual3@uci.edu> Co-authored-by: Chris <143021053+kunwp1@users.noreply.github.com> Co-authored-by: ali risheh <ali.risheh876@gmail.com> Co-authored-by: ali <a_icam@yahoo.com> Co-authored-by: Xinyuan Lin <xinyual3@uci.edu>
yangzhang75
pushed a commit
to yangzhang75/texera
that referenced
this pull request
Jun 22, 2026
…o be separate and symmetric (apache#3916) ### What changes were proposed in this PR? This PR updates the function names and docstring for workflow result exports to local/dataset to be symmetric. ### Any related issues, documentation, discussions? Refactors apache#3728. ### How was this PR tested? This PR involves a simple refactoring of the existing workflow result export functionality. Apart from verifying that the functionality has not changed, no additional tests are needed. ### Was this PR authored or co-authored using generative AI tooling? No.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Purpose
This pull request partially addresses issue #3404 by switching workflow result downloads to use the browser's native download functionality. Using the browser to handle downloads enables the browser's built-in download UI, including a progress bar when downloading larger files.
Changes
Previously, we used Angular's
HttpClientto request the result file from the backend as aBloband download theBlobto the local filesystem. Now, we use a standard HTML form submission to request the result file, allowing the browser to handle the download. The backend logic for generating the file stream remains the same.Headers such as
Authorization(used for Bearer tokens) cannot be added to standard form submissions. To work around this, we pass the JWT token directly as a form parameter and manually check for validity of the token in the backend. We also manually verify that the user role is valid.Summary of Changes
HttpClientto request the download, allowing the browser to handle the downloadDemonstration
texera_workflow_result_download_demo.mp4