<feed xmlns='http://www.w3.org/2005/Atom'>
<title>sz-chrome-remote-cdp.git/src/daemon.ts, branch master</title>
<subtitle>pi-browser-harness, patched to drive a Chrome on another host over CDP, with castle_cdp_search web search
</subtitle>
<id>https://git.soarez.net/sz/sz-chrome-remote-cdp.git/atom?h=master</id>
<link rel='self' href='https://git.soarez.net/sz/sz-chrome-remote-cdp.git/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git.soarez.net/sz/sz-chrome-remote-cdp.git/'/>
<updated>2026-05-02T11:16:12+00:00</updated>
<entry>
<title>refactor: delete legacy daemon, tools, protocol, renderers; collapse to single tsconfig</title>
<updated>2026-05-02T11:16:12+00:00</updated>
<author>
<name>amankumarsingh77</name>
<email>amankumarsingh7702@gmal.com</email>
</author>
<published>2026-05-02T11:16:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.soarez.net/sz/sz-chrome-remote-cdp.git/commit/?id=bb691459f358d32267c552de643fededf647855e'/>
<id>urn:sha1:bb691459f358d32267c552de643fededf647855e</id>
<content type='text'>
</content>
</entry>
<entry>
<title>feat: v0.2.1 — feature parity with browser-use/browser-harness</title>
<updated>2026-05-02T09:59:23+00:00</updated>
<author>
<name>amankumarsingh77</name>
<email>amankumarsingh7702@gmal.com</email>
</author>
<published>2026-05-02T09:59:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.soarez.net/sz/sz-chrome-remote-cdp.git/commit/?id=6759b6fd0ab435aa1e9fdb4591bd828b7a861a33'/>
<id>urn:sha1:6759b6fd0ab435aa1e9fdb4591bd828b7a861a33</id>
<content type='text'>
Adds the missing tools called out in docs/browser-harness-comparison.md:
upload_file, dispatch_key, download (configure dir), viewport_resize,
drag_and_drop, print_to_pdf, get_network_log, plus the iframe-target
helper. Updates promptGuidelines and the system prompt's tools table.

Tracked in todo.md.

Co-Authored-By: Claude Opus 4.7 (1M context) &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>perf: v0.2.0 — event-based waitForLoad, fast ensureAlive, JPEG screenshots, page info caching</title>
<updated>2026-05-02T06:10:20+00:00</updated>
<author>
<name>amankumarsingh77</name>
<email>amankumarsingh7702@gmal.com</email>
</author>
<published>2026-05-02T06:10:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.soarez.net/sz/sz-chrome-remote-cdp.git/commit/?id=fa54f769aad7bc3b6b05cf877cc5adda879721be'/>
<id>urn:sha1:fa54f769aad7bc3b6b05cf877cc5adda879721be</id>
<content type='text'>
5 performance optimizations (14-36% faster end-to-end, output quality unchanged):

- fast ensureAlive(): WS state check instead of CDP roundtrip (96% faster per-call)
- event-based waitForLoad(): CDP load events instead of 300ms polling (99.5% faster for loaded tabs)
- JPEG screenshot support: 29-49% smaller files, faster CDP transfer
- page info caching: 1s TTL eliminates redundant evaluateJS calls
- parallel domain enables: Promise.all instead of sequential await in switchTab()

Benchmark: 3622ms vs 4243ms baseline on 3-tab navigation + screenshot task.
</content>
</entry>
<entry>
<title>fix: stop Chrome remote-debugging consent popup storm</title>
<updated>2026-04-30T07:39:27+00:00</updated>
<author>
<name>amankumarsingh77</name>
<email>amankumarsingh7702@gmal.com</email>
</author>
<published>2026-04-30T07:39:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.soarez.net/sz/sz-chrome-remote-cdp.git/commit/?id=b6d752222947229112132ac0fbd87f355fc78974'/>
<id>urn:sha1:b6d752222947229112132ac0fbd87f355fc78974</id>
<content type='text'>
Previously a single consent-pending socket could spawn up to 5 stacked
'Allow remote debugging?' dialogs. Three causes:

- onopen reset _reconnectAttempts, but Chrome accepts the WS upgrade
  before the user clicks Allow, so a held socket looked healthy.
- ensureAlive's health probe used the full 15s CDP timeout; while the
  user was reading the dialog the probe would time out, trigger a
  stop()+start(), and a fresh popup would stack on top.
- onclose auto-reconnected unconditionally even when consent had never
  been granted on that connection.

Now a connection is only considered healthy once the first CDP
roundtrip completes (attachFirstPage). ensureAlive does a 2s short
probe before tearing down the socket. onclose bails out of auto-
reconnect when consent was never observed, so a denied dialog
surfaces a clean error instead of looping.
</content>
</entry>
<entry>
<title>Replace socket daemon with direct CDP WebSocket connection</title>
<updated>2026-04-28T20:08:17+00:00</updated>
<author>
<name>amankumarsingh77</name>
<email>amankumarsingh7702@gmal.com</email>
</author>
<published>2026-04-28T20:08:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.soarez.net/sz/sz-chrome-remote-cdp.git/commit/?id=63b16957587fe20566129ffc5191f66f24a70872'/>
<id>urn:sha1:63b16957587fe20566129ffc5191f66f24a70872</id>
<content type='text'>
Drops the Unix socket subprocess in favor of talking CDP directly over
WebSocket from the extension. Removes the protocol's send/health helpers,
simplifies setup to just verifying Chrome's remote debugging port, and
tightens types in dynamic-tools. Bumps Node engine to &gt;=22 and adds the
ws dependency.
</content>
</entry>
<entry>
<title>Initial release: pi-browser-harness</title>
<updated>2026-04-28T19:10:36+00:00</updated>
<author>
<name>amankumarsingh77</name>
<email>amankumarsingh7702@gmal.com</email>
</author>
<published>2026-04-28T19:10:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.soarez.net/sz/sz-chrome-remote-cdp.git/commit/?id=8fff91522918a8309dea2e9fa725e15f6ed1c3ea'/>
<id>urn:sha1:8fff91522918a8309dea2e9fa725e15f6ed1c3ea</id>
<content type='text'>
Browser control extension for pi — 20 browser_* tools for navigating,
clicking, typing, screenshotting, and extracting data from real Chrome
via CDP. Includes self-extending harness (register_tool/remove_tool),
guided /browser-setup, session persistence, and custom TUI renderers.
</content>
</entry>
</feed>
