ref(preprod): Download snapshot images via direct browser request#116795
Merged
Conversation
Simplify snapshot image download to use a direct browser navigation to the download endpoint instead of fetching the blob in JavaScript. The previous approach buffered the entire zip in memory before triggering the download, which is unnecessary and could fail on large archives. The browser now handles the response directly, including error status codes, so the manual fetch/blob/error-handling logic is no longer needed. Co-Authored-By: Claude <noreply@anthropic.com>
downloadFromHref triggers a fire-and-forget browser download, so the code cannot observe a 403/404/500 response. Showing the "download started" toast unconditionally claimed success even when the request failed. Remove the toast and let the browser's native download UI be the source of truth. Co-Authored-By: Claude <noreply@anthropic.com>
Contributor
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit a7e8544. Configure here.
| const downloadUrl = `/api/0/organizations/${organizationSlug}/preprodartifacts/snapshots/${data.head_artifact_id}/download/`; | ||
|
|
||
| try { | ||
| const response = await fetch(downloadUrl, {credentials: 'include'}); |
Contributor
There was a problem hiding this comment.
Success toast no longer shown
Medium Severity
After starting a snapshot images download, users no longer see the success toast that confirmed the download began. The handler only calls downloadFromHref and removed addSuccessMessage, unlike similar flows such as useDataExport that still toast after triggering a browser download.
Reviewed by Cursor Bugbot for commit a7e8544. Configure here.
mtopo27
approved these changes
Jun 3, 2026
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.


Simplify the snapshot image download to use a direct browser navigation to the download endpoint rather than fetching the zip blob in JavaScript first.
The previous implementation called
fetch, buffered the entire archive into a blob in memory, created an object URL, and then triggered the download. For large snapshot image archives this is wasteful and risks failing on memory. It also duplicated error handling (403 / 404 / generic) that the browser surfaces on its own when navigating to the endpoint.By passing the download URL straight to
downloadFromHref, the browser streams the response and handles HTTP error statuses directly, so the manual fetch/blob/cleanup and error-branching logic can be removed.No change to the download endpoint or the success toast behavior.