-
feat(cleanup): default idle-shutdown + keep — stop leaving scratch tabs/groups behind
released this
2026-06-18 03:11:59 +00:00 | 4 commits to main since this releaseAgents finish a task and just stop (never calling
close), so daemons used to
run forever, leaving their per-session scratch tabs + tab group in the user's
Chrome. Two cases now handled:- Default idle timeout (10 min; AGENT_BROWSER_IDLE_TIMEOUT_MS overrides, 0
disables). On idle the daemon close()s the tabs IT created → the empty tab
group is auto-removed by Chrome. Timer resets on every command, so active
sessions are untouched. Adopted user tabs are never owned, so never closed. keep— leave the ACTIVE tab for the user: unown it (exempt from
close/idle) + ask the extension to ungroup it (ABExt.ungroupTab → 0.4.12) so
it becomes a normal tab. Scratch gets cleaned, deliverable tabs stay.
Also fix two clippy violations in the concurrently-landed #47 viewport code
(manual char comparison + iter().any→contains) that were failing main's CI.ext 0.4.12: handle ABExt.ungroupTab (chrome.tabs.ungroup). 870 tests pass.
Downloads
- Default idle timeout (10 min; AGENT_BROWSER_IDLE_TIMEOUT_MS overrides, 0