gstack/browse
현성 e568f96df9 feat(browse): wire auto-cookie persistence into launch + daemon lifecycle
Connects the persistence module to the daemon:
- browser-manager.ts: getContext() accessor, and launch() seeds the fresh
  context via newContext({ storageState }) from the persisted cookies BEFORE
  the first tab — a restart transparently restores the device cookie.
  recreateContext() is untouched (it restores in-memory state itself), so
  there is no double-restore.
- server.ts: acquire the per-workspace lock once at daemon start (a live peer
  holding it disables persistence for this daemon, loudly, instead of racing).
  Three save triggers — a debounced checkpoint after mutating commands, a
  periodic safety-net checkpoint, and a final flush in shutdown() right before
  the context closes (the graceful path all intentional shutdowns funnel
  through). The crash path (emergencyCleanup) deliberately never saves, to
  avoid serializing a dying context. Lock is released on shutdown.

All triggers are no-ops unless BROWSE_AUTO_COOKIE_PERSIST is set, so default
behavior is byte-for-byte unchanged.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-07 19:17:17 +09:00
..
bin feat: multi-agent support — gstack works on Codex, Gemini CLI, and Cursor (v0.9.0) (#226) 2026-03-19 18:20:50 -07:00
scripts fix: ngrok Windows build + close CI error-swallowing gap (v0.18.0.1) (#1024) 2026-04-16 13:49:04 -07:00
src feat(browse): wire auto-cookie persistence into launch + daemon lifecycle 2026-07-07 19:17:17 +09:00
test v1.57.10.0 feat: Codex review default-on across review/ship/plan/docs (#1966) 2026-06-10 21:14:58 -07:00
PLAN-snapshot-dropdown-interactive.md fix: snapshot -i auto-detects dropdown/popover interactive elements (#845) 2026-04-05 22:57:45 -07:00
SKILL.md v1.58.1.0 feat: hermetic local E2E + Conductor prose AskUserQuestion (#2004) 2026-06-14 11:40:57 -07:00
SKILL.md.tmpl v1.57.8.0 feat: browse js/eval --out render-to-file (canonical Chromium for offline rendering) (#1929) 2026-06-09 21:02:30 -07:00