diff options
| author | amankumarsingh77 <amankumarsingh7702@gmail.com> | 2026-07-26 00:33:44 +0530 |
|---|---|---|
| committer | amankumarsingh77 <amankumarsingh7702@gmail.com> | 2026-07-26 00:33:44 +0530 |
| commit | 693b5e86268421b5c6e3400d988efdcc25f2e34e (patch) | |
| tree | ce717c4e0b2d8af29b5b37a606cb1d27af2bc530 /package.json | |
| parent | ad7f511b319be5ca989ee86dc411f181dd23e41f (diff) | |
fix: kill leaked Chrome processes on profile seed failure
When a profile is pinned and ProcessSingleton fails to delegate, the
spawned Chrome process starts a full second browser instance. The
sentinel never appeared, but the spawned process was never killed
(detached + unref'd + reference discarded), accumulating zombie
browsers that consume RAM.
Three changes:
- Store child process ref and expose kill() on ProfileWindowHandle.
Call kill() when the sentinel doesn't appear within the timeout.
- Only clear profileContextId when the browser UUID changes (Chrome
mints a fresh UUID on every launch), avoiding unnecessary re-spawns.
- Don't clear profileContextId in setProfilePin when the pin hasn't
changed, preventing gratuitous re-spawns on session_start.
Diffstat (limited to 'package.json')
| -rw-r--r-- | package.json | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/package.json b/package.json index 6e7cd50..8fcf9e1 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "pi-browser-harness", - "version": "0.10.0", + "version": "0.10.1", "description": "Browser control extension for pi — navigate, click, type, screenshot, and extract data from real Chrome via CDP", "keywords": [ "pi-package", |
