fix(proxy): stream downloads without full buffering#3591
Open
wizardengineer wants to merge 2 commits into
Open
fix(proxy): stream downloads without full buffering#3591wizardengineer wants to merge 2 commits into
wizardengineer wants to merge 2 commits into
Conversation
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.
Summary
Context
Refs #3569.
The Electron main process previously retained every stdout chunk while also
writing it to disk, so its memory use scaled with large downloads. Streamed
responses now keep fixed one-megabyte stdout and stderr captures only for
legacy compatibility and response metadata.
Test plan
Observed: Prettier reported the file uses project style, ESLint exited 0,
typecheck:nodeexited 0, and the diff check passed.cd app pnpm server-testNot run locally: this server-test job needs the Linux CI setup with the
SecureDrop server checkout, Docker image prebuild, Rust proxy build, Xvfb, and
ffmpeg recording. The fixture values updated here come directly from the failed
CI
server-testsoutput on the previous commit: item485396d7-114b-49d5-a910-43337f72b471reported version69bf01a114e4bf5d946113632933f110838a9d73d2986f8cff6c5874ed2db9d6, and theaggregate DB version reported
44c5cb56c68b98e090c21e6d3d4b7b5ef70debce41b00ff35bf4b358d99114d6.Not rerun locally after this fixture-only CI fix. The previous PR body recorded
passing proxy, integration, unit/component, Rust, Ruff, and formatting evidence
for the behavior commit; this update only adjusts the server-test expectation
that CI reported as stale.
Notes
The compatibility matrix covers new and legacy metadata, binary output, HTTP
errors, malformed/oversized/empty stderr, proxy crashes, timeout with partial
output, backpressure, and truncated HTTP responses. Streamed HTTP error bodies
are capped at 64 KiB. Qubes testing was not run locally; all default-feature
Rust checks passed before this fixture-only update, while macOS cannot compile
the QubesDB feature without its system header.
Checklist
This change accounts for:
main)