aboutsummaryrefslogtreecommitdiff
path: root/FORK.md
diff options
context:
space:
mode:
authorIgor Soarez <igor@soarez.org>2026-10-15 07:07:58 +0100
committerIgor Soarez <igor@soarez.org>2026-10-15 07:07:58 +0100
commit3e761274fe7b0e6be4a162e880293150ad9d9fbe (patch)
tree89c448734eae908170d32f7f1e55e2defcb66d22 /FORK.md
parent19c6f64c8561e286687e2b81a2e1e82fb21fd73b (diff)
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.
Diffstat (limited to 'FORK.md')
-rw-r--r--FORK.md10
1 files changed, 8 insertions, 2 deletions
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