aboutsummaryrefslogtreecommitdiff
path: root/src/domains
diff options
context:
space:
mode:
authoramankumarsingh77 <amankumarsingh7702@gmail.com>2026-07-28 21:48:35 +0530
committerAman Kumar <145339995+amankumarsingh77@users.noreply.github.com>2026-08-02 19:12:46 +0530
commit6d300099a86cfdb92b7869dc2b4f33094554b24c (patch)
tree56ea6be73ac8b92d4ae4a2731e8d41dd54e876f7 /src/domains
parentaedbb88a8025851067be9f77ec406b29d65599a8 (diff)
fix: make --browser-debug-clicks and BU_CDP_WS actually work
Both were documented and inert. --browser-debug-clicks was registered as a flag and never read; the only real switch was the undocumented BH_DEBUG_CLICKS env var. The flag now feeds util/debug.ts, which the click tool consults, and the env var keeps working as an equivalent. BU_CDP_WS was read in the client and handed to transport.connect(), but the daemon transport discards that argument and always dials the daemon socket — and the daemon's own discovery never looked at the variable, so setting it did nothing. The override now lives in discoverEndpoint, which is what both processes go through, and the client's redundant read is gone. The variable must be set before the daemon spawns. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Diffstat (limited to 'src/domains')
-rw-r--r--src/domains/click.ts5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/domains/click.ts b/src/domains/click.ts
index cb4b007..41c3024 100644
--- a/src/domains/click.ts
+++ b/src/domains/click.ts
@@ -3,6 +3,7 @@ import { Text } from "@mariozechner/pi-tui";
import type { BrowserClient } from "../client";
import { Coords, MouseButton } from "../schemas/common";
import { type Result, ok } from "../util/result";
+import { debugClicksEnabled } from "../util/debug";
import { defineBrowserTool, type ToolErr } from "../util/tool";
import { cdpCall } from "./cdp-call";
import { captureWithCrosshair } from "./screenshot";
@@ -62,7 +63,7 @@ export const clickTool = defineBrowserTool({
"A 'ref is stale' error means the page changed — re-run browser_snapshot to get fresh refs.",
"After clicking, read the appended page-changes diff to confirm the action landed before moving on (no separate snapshot needed for a quick check).",
"Coordinates are viewport CSS pixels (not device pixels). Compositor-level clicks pass through iframes, shadow DOM, and cross-origin content.",
- "If a click doesn't register, set BH_DEBUG_CLICKS=1 to get annotated screenshots (debug only). For React/Vue components ignoring clicks, try browser_dispatch_key.",
+ "If a click doesn't register, run pi with --browser-debug-clicks (or set BH_DEBUG_CLICKS=1) to get annotated screenshots. For React/Vue components ignoring clicks, try browser_dispatch_key.",
],
parameters: ClickArgs,
concurrency: "serialized",
@@ -79,7 +80,7 @@ export const clickTool = defineBrowserTool({
if (!clicked.success) return clicked;
const diff = await interactiveDiff(client);
- if (process.env["BH_DEBUG_CLICKS"]) {
+ if (debugClicksEnabled()) {
const debug = await captureWithCrosshair(client, { x, y });
if (debug.success) {
return ok({