diff options
| author | Tianren Dong <tianrendong.dtr@gmail.com> | 2026-09-26 16:37:25 -0400 |
|---|---|---|
| committer | Tianren Dong <tianrendong.dtr@gmail.com> | 2026-09-26 16:37:25 -0400 |
| commit | c49dc15fa5c33d5b1d210b0185677ce29640e2d5 (patch) | |
| tree | b1f6ddcf387edb51213a6f9f1beb011fbe5c0bd3 /docs | |
| parent | 4811ee616d2bbd5ead669a7e2f33a0bb14bd43ef (diff) | |
Absorb fork fixes and features; release 0.15.53
Adapted from community forks (ardhiqii, kkunkunya, nihar-oracle, steimerbyte):
- Abort stalled /next long polls after 45s; time out, retry, and single-post results.
- Fall back to CDP Runtime.evaluate when chrome.scripting is refused (about:blank automation tabs).
- Load pi-chrome in same-process subagent sessions as a bridge client; client chrome_launch reports owner status.
- Add chrome_cdp (validated raw CDP passthrough, background-guarded, payload summarization) and chrome_cdp_targets.
- chrome_type reports before/after values, insertedAt, splice/unchanged warnings; add replace=true.
- includeSnapshot waits for navigations started by the action; tab.new reports the settled tab.
- CDP timeouts surface as timeouts and are not re-sent after the cleanup detach.
- Activate/deactivate chrome_find and chrome_inspect with the rest of the chrome_* tools.
- New unit suites: bridge-resilience, cdp-passthrough, type-evidence.
Diffstat (limited to 'docs')
| -rw-r--r-- | docs/FAQ.md | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/docs/FAQ.md b/docs/FAQ.md index a450a93..d717694 100644 --- a/docs/FAQ.md +++ b/docs/FAQ.md @@ -32,6 +32,8 @@ Chrome control is also locked per Pi session until you run `/chrome authorize`; Yes. The first session opens the local bridge; later sessions detect it and pipe their commands through the same bridge. Each Pi session must be authorized with `/chrome authorize` before its chrome_* tools work. Each session also owns its **own** dedicated automation window (ownership is keyed by session id inside the one extension), so concurrent sessions never navigate into or close each other's tabs. +Subagent sessions that run inside an authorized Pi process (for example with pi-subagents) also get the chrome_* tools. They share the parent's `/chrome authorize` grant and bridge, but each subagent gets its own automation tab and tab group, which are cleaned up when the subagent session ends. + ## Does pi-chrome navigate my current tab? No. The first chrome_* action that has no explicit target opens a **dedicated automation window** that pi-chrome owns (falling back to a dedicated tab only if a separate window can't be created), and reuses it for the rest of the session. Your existing tabs and windows are never reused or overwritten. Pass `targetId`/`urlIncludes`/`titleIncludes` to deliberately act on a tab you already have open. @@ -50,7 +52,7 @@ pi-chrome ships as an unpacked extension so the source and broad browser permiss ## What's the install footprint? -- Pi side: one extension that registers 19 tools and a few slash commands. +- Pi side: one extension that registers 23 tools and a few slash commands. - Chrome side: one unpacked extension, ~2000 LOC of plain JavaScript, no dependencies. ## Can I script it without Pi? |
