feat(cli): add 'chrome-use daemon restart|status' to reset stuck session state
A mid-session 'chrome-use upgrade' (or a crashed worker) can leave per-session daemons holding stale/cross-leaked tab handles, and the only fix was hunting PIDs with pgrep/kill. Add a first-class command: - 'daemon restart' kills every session daemon worker (SIGTERM→SIGKILL + sidecar cleanup) but leaves the Chrome-launched __nm-host bridge alone, so the extension relay stays up — the next command spins a fresh, clean daemon against the same live Chrome. Closes no tabs. - 'daemon status' lists running session daemons (pid + version) and relay state. Wires connection::restart_all_daemons(), skips the command in the update-notify nag, documents it in --help and the core skill. Unit tests cover the empty case and a live-session kill (spawns a real child, asserts it's reaped + sidecars cleaned). Issue #20.
This commit is contained in:
@@ -501,6 +501,22 @@ the same browser's existing targets, so a second session's first `open` can
|
||||
navigate a sibling's tab. For concurrent agents on one real Chrome, use the
|
||||
extension (each with a distinct `--session`), not raw `--cdp`.
|
||||
|
||||
### Reset stuck daemon state
|
||||
|
||||
Each session runs a background daemon worker that holds the page handles. If a
|
||||
session starts misbehaving — commands hit the wrong tab, refs/handles look stale,
|
||||
or you upgraded `chrome-use` mid-session and old workers linger — restart the
|
||||
daemons instead of hunting PIDs with `pgrep`/`kill`:
|
||||
|
||||
```bash
|
||||
chrome-use daemon status # list running session daemons (+ relay state)
|
||||
chrome-use daemon restart # kill every session daemon worker
|
||||
```
|
||||
|
||||
`daemon restart` leaves the extension's native-messaging bridge (`__nm-host`)
|
||||
alone, so the relay to your live Chrome stays up — the next command just spins up
|
||||
a fresh, clean daemon against the same browser. It does **not** close any tabs.
|
||||
|
||||
### Mock network requests
|
||||
|
||||
```bash
|
||||
|
||||
Reference in New Issue
Block a user