fix(cli): hand the browser a redirect file for oversized report URLs - #74
Open
rocktimsaikia wants to merge 1 commit into
Open
fix(cli): hand the browser a redirect file for oversized report URLs#74rocktimsaikia wants to merge 1 commit into
rocktimsaikia wants to merge 1 commit into
Conversation
argue view passes the whole gzipped report to the OS handler as a single argument. When the browser is already running the URL is routed to the live instance over a channel that truncates well below ARG_MAX, so the viewer receives a cut-off #d= payload and fails to gunzip it. Above 8k chars, write the URL into a temp HTML page as a meta refresh and hand over that short path instead. The browser then navigates internally and the URL never crosses a process boundary.
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.
argue viewpasses the whole gzipped report to the OS handler as one argument. With thebrowser already running, that URL is routed to the live instance over a channel that
truncates well below ARG_MAX, so the viewer gets a cut-off
#d=payload and can't gunzip it.Above 8k chars, write the URL into a temp HTML page as a meta refresh and hand over that
short path instead. The browser navigates internally, so the URL never crosses a process
boundary.
The guard sits before the platform branch, so macOS and Windows take this path too. I only
proved the truncation on Linux, but macOS has the same already-running-browser handoff via
LaunchServices. Happy to gate it to Linux if you'd rather.
Fixes #73