all repos — sz-chrome-remote-cdp @ 78cc35a24cdf7a54812e7258083415e0b1aa9259

pi-browser-harness, patched to drive a Chrome on another host over CDP, with castle_cdp_search web search

chore: release 0.10.3

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
amankumarsingh77 amankumarsingh7702@gmail.com
Sun, 26 Jul 2026 20:51:43 +0530
commit

78cc35a24cdf7a54812e7258083415e0b1aa9259

parent

7d2256e584709e4b7c27ab83b61950f00def7046

2 files changed, 8 insertions(+), 1 deletions(-)

jump to
M CHANGELOG.md → CHANGELOG.md

@@ -2,6 +2,13 @@ # Changelog

All notable changes to pi-browser-harness will be documented in this file. +## 0.10.3 — 2026-07-26 + +### Fixed + +- **Profile binding after an in-place browser upgrade.** Linux appends `" (deleted)"` to `/proc/<pid>/exe` once the running binary is unlinked — which is exactly what a `google-chrome` package update does while the browser stays open. `detectRunningBrowser` returned that literal string as the executable path, so every profile launch tried to spawn `/opt/google/chrome/chrome (deleted)` and failed with `ENOENT`. Executable paths are now validated against disk, with the marker stripped (and argv[0] used) when the linked binary is gone. +- **A failed browser launch no longer reports as a sentinel timeout.** `spawn()` signals a missing or non-executable binary asynchronously via an `error` event rather than by throwing, and that event was discarded — so `openProfileWindow` returned success, no window ever opened, and the caller blamed the browser 15 seconds later with `couldn't open a window in "<profile>" automatically`. The launch now waits for `spawn`/`error` and returns the real cause, and removes its handshake page on the failure path. + ## 0.10.2 — 2026-07-26 ### Fixed
M package.json → package.json

@@ -1,6 +1,6 @@

{ "name": "pi-browser-harness", - "version": "0.10.2", + "version": "0.10.3", "description": "Browser control extension for pi — navigate, click, type, screenshot, and extract data from real Chrome via CDP", "keywords": [ "pi-package",