diff options
| author | Igor Soarez <igor@soarez.org> | 2026-11-14 09:15:15 +0000 |
|---|---|---|
| committer | Igor Soarez <igor@soarez.org> | 2026-11-14 09:15:34 +0000 |
| commit | a76fbc3b9b82038ab44c04d6379cc2d45e5cecd8 (patch) | |
| tree | 7cf7425cfbca05a99b42198f78ff3fcf1a6eb5d8 /README.md | |
| parent | e18559a1240219b977ffc7da2076c09cd96d1dad (diff) | |
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 'README.md')
| -rw-r--r-- | README.md | 4 |
1 files changed, 2 insertions, 2 deletions
@@ -77,9 +77,9 @@ Run `/chrome revoke` when finished. Use `/chrome authorize` again whenever you w ## Safety - **Per-session approval.** Pi's Chrome tools require `/chrome authorize`. `/chrome revoke` locks them and requests cleanup of that session's owned automation tabs. Cleanup preserves existing user tabs. -- **Separate targets by default.** Page actions without an explicit target use a session-owned automation window or tab. The agent can deliberately target an existing tab when your task calls for it. +- **Separate targets by default.** Page actions without an explicit target use a session-owned automation tab, opened inactive in your window inside the session's tab group (collapsed), or in a new window only when none is open. The agent can deliberately target an existing tab when your task calls for it. - **Local transport, not a sandbox.** The bridge binds to `127.0.0.1:17318` and rejects browser-origin command requests. It does not authenticate arbitrary non-browser local callers; it is not protection against hostile processes on your machine. -- **Background mode:** `/chrome background on` (default) blocks pi-chrome tools from directly bringing Chrome to the front or switching your selected tab. Use `/chrome background off` to allow those actions, and `/chrome background status` to check the setting. +- **Background mode:** off by default (fork). Calls work in the background unless an agent passes `background:false` to bring its tab forward; inactive tabs take clicks, typing and screenshots without that. `/chrome background on` blocks bringing Chrome to the front or switching your selected tab outright; `/chrome background status` shows the setting. ### Limits |
