Repository navigation
Pro launcher: reach the render farm directly, not through the page's proxy - #17
Merged
Merged
Conversation
…proxy A farm GPU grant points the browser at the render gateway's WebSocket, and that socket went through whatever proxy the launch had. A proxy that cannot reach the gateway (a residential exit, a warming proxy, a dev gateway on a private network) left the farm route unopened, and every canvas or WebGL call that needed it waited until the caller gave up. The render endpoint's host is now added to the proxy's bypass list, after any entries the caller set. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
✅ Tests passedCamoufox
The Playwright suite is upstream playwright-python at the tag above, fetched fresh, with |
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.
Bug: with a proxy and a farm GPU grant, the browser's render-farm WebSocket goes through the proxy. Camoufox Pro's warm sessions on dev showed it: every browser socket went to the warming proxy (
:8081), cfp-render saw zero farm connections from 235 granted warm leases, andrender-dev.camoufox.comis unreachable through that proxy (curl exit 56; example.com through the same proxy: 200). The farm route never opened, so heavy canvas/WebGL calls blocked until cfp-warm's 300 s watchdog killed the browser — most of the "browser call stuck after a pause" crashes. On production the same path would send all farm traffic through a customer's (often metered) residential proxy.Fix (Python and TS): with a
gpugrant and a proxy, the render endpoint's host is appended toproxy.bypass, after the caller's own entries. Without a proxy nothing changes.Tests: both launchers: a farm launch with
{server, bypass: "intranet.example"}ends withbypass = "intranet.example,render.example", and without a caller bypass,"render.example". Fail before (bypass unchanged), pass after. TS suite 821 passed, biome + tsc clean; Python suite 651 passed — the one failure,test_geoip_config.py::test_refresh_keeps_an_explicit_choice, fails onfeat/pro_integrationwithout this change too.🤖 Generated with Claude Code