aboutsummaryrefslogtreecommitdiff
path: root/docs/FAQ.md
diff options
context:
space:
mode:
authorIgor Soarez <igor@soarez.org>2026-11-14 09:15:15 +0000
committerIgor Soarez <igor@soarez.org>2026-11-14 09:15:34 +0000
commita76fbc3b9b82038ab44c04d6379cc2d45e5cecd8 (patch)
tree7cf7425cfbca05a99b42198f78ff3fcf1a6eb5d8 /docs/FAQ.md
parente18559a1240219b977ffc7da2076c09cd96d1dad (diff)
tabs: one window for every agent; inactive tabs take input; background off by defaultHEADmaster
Measured in Brave on 2026-11-14: an inactive tab takes trusted CDP clicks, key presses, text and mouse moves, and Page.captureScreenshot renders it live. Only mouseWheel hangs, waiting for a frame. The upstream guard that refused input to every hidden page was wrong for inactive tabs, and it is what made a window per session look necessary. - New sessions' tabs open inactive in the user's last focused window, in the session's tab group; a window is created only when none is open. - New groups start collapsed, unless their tab is the one showing, and expand when a tab in them is brought forward. Existing groups keep the user's setting. - Input is refused up front only in a minimized window (untested there). - chrome_scroll scrolls hidden pages by script instead of the wheel. - Focus emulation on attach, so blur-sensitive menus stay open. - Background mode is off by default. Calls still default to background; background:false or chrome_tab activate brings a tab forward. - Agent guidance, tool descriptions and docs say so.
Diffstat (limited to 'docs/FAQ.md')
-rw-r--r--docs/FAQ.md2
1 files changed, 1 insertions, 1 deletions
diff --git a/docs/FAQ.md b/docs/FAQ.md
index bf46a51..cfa2cfa 100644
--- a/docs/FAQ.md
+++ b/docs/FAQ.md
@@ -36,7 +36,7 @@ Subagent sessions that run inside an authorized Pi process (for example with pi-
## 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.
+No. The first chrome_* action that has no explicit target opens a **dedicated automation tab** that pi-chrome owns, inactive, in your window and in the session's own (collapsed) tab group, and reuses it for the rest of the session. A window is created only when none is open. Your existing tabs and windows are never reused or overwritten. Pass `targetId`/`urlIncludes`/`titleIncludes` to deliberately act on a tab you already have open.
The window survives `/reload` and Chrome service-worker restarts because ownership is tracked by id and mirrored to `chrome.storage.session`. It is closed when you run `/chrome revoke` and on real session end (not on `/reload`); cleanup only ever closes that session's own window/tab.