fix(browser): resolve HTTP CDP URLs - #113
Conversation
There was a problem hiding this comment.
All reported issues were addressed across 2 files
Reply with feedback, questions, or to request a fix.
Fix all with cubic | Re-trigger cubic
|
Thanks Magnus — closing this one as not-needed rather than wrong. No consumer
It forks a documented alias
This PR gives the two variables different semantics without touching that line, so the skill the agent actually reads becomes wrong. Two env vars that look like aliases but resolve differently is a bad surface for a model to reason about. The cold-start retry is speculativeThe retry-until-deadline loop is for "a browser that is still starting". In v4 the browser is provisioned and long-polled to readiness before bcode launches ( If we do want this laterThe shape that fits our conventions is one variable, not two: Happy to take that version if a real caller shows up. |
Summary
BU_CDP_URL=http://...as a DevTools HTTP endpoint and resolve its WebSocket URL through/json/versionBU_CDP_URL=ws://...compatibility and keepBU_CDP_WSas the highest-priority direct WebSocket settingPreviously an HTTP
BU_CDP_URLwas passed directly tonew WebSocket, which attempted an upgrade on the HTTP root instead of querying/json/version. This matches the public browser-harness endpoint contract.Validation
bun testinpackages/bcode-browser: 16 pass, 8 environment-gated skipsbunx oxlint packages/bcode-browser/test/connect-env.test.ts: cleanSummary by cubic
Fixes connection to Chrome when
BU_CDP_URLis an HTTP DevTools endpoint by resolving its WebSocket URL via/json/version. Uses a single connection deadline for discovery and WebSocket open, adds retries until the deadline, and clearer 403 permission errors, while keepingBU_CDP_WSpriority andBU_CDP_URLWebSocket compatibility.BU_CDP_URLthrough/json/versionto obtainwebSocketDebuggerUrl.BU_CDP_WSoverBU_CDP_URL; accept WebSocket values inBU_CDP_URL.Written for commit d3e7b76. Summary will update on new commits.