From 3e761274fe7b0e6be4a162e880293150ad9d9fbe Mon Sep 17 00:00:00 2001 From: Igor Soarez Date: Thu, 15 Oct 2026 07:07:58 +0100 Subject: feat(cdp): report a BU_CDP_WS pin in status, /browser-target and the prompt Upstream 0.11.0 made BU_CDP_WS reach the daemon, and discoverEndpoint() returns it before the fork's target is consulted. resolveCdpTarget() did not know about it, so /browser-status and the system prompt named the BU_CDP_HTTP/stored/default target while the daemon dialled the pinned URL, and /browser-target claimed to switch browsers when it could not. resolveCdpTarget() now puts BU_CDP_WS first, as a remote target with source "ws". /browser-target warns that it takes precedence, as it already did for BU_CDP_HTTP. Only host:port is ever shown: the path carries the browser id and a proxied URL may carry a token. /browser-status does not probe a pinned URL, since /json/version answering says nothing about whether the pinned browser id is still current. --- FORK.md | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'FORK.md') diff --git a/FORK.md b/FORK.md index 639e76c..d106983 100644 --- a/FORK.md +++ b/FORK.md @@ -86,8 +86,14 @@ the variable is set, `/browser-target` says so instead of pretending to obey. Upstream's `BU_CDP_WS` sits above all of these: `discoverEndpoint()` returns it before consulting the fork's target, so an explicit WebSocket URL still wins. -`/browser-status`, `/browser-target` and the system prompt do not know about it, -and describe the `BU_CDP_HTTP`/stored/default target even when it is set. +`resolveCdpTarget()` mirrors that, so `/browser-status` and the system prompt +name the pinned endpoint and `/browser-target` warns that it takes precedence, +as it does for `BU_CDP_HTTP`. They show only its host:port: the path carries the +browser id, and a proxied URL may carry a token. `/browser-status` does not +probe a pinned URL, because `/json/version` answering says nothing about whether +the pinned browser id is still current. A pinned URL counts as a remote target, +like any `BU_CDP_HTTP` value, so profile selection is refused while it is set, +even for a loopback URL. The asymmetry is deliberate. An explicit endpoint is an instruction, so failing to reach it must not quietly automate a different browser — that would drive -- cgit v1.2.3