mirror of https://github.com/garrytan/gstack.git
docs: note ServerConfig.ownsTerminalAgent in CLAUDE.md sidebar block
Adds a one-paragraph reference for the v1.42.1.0 embedder teardown gate right after the Sidebar architecture block. Covers default semantics, when embedders must pass `false`, polarity inversion vs xvfb?/proxyBridge?, and the static-grep CI test that pins the CLI call site. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
parent
34d9763e78
commit
54b719ab2c
14
CLAUDE.md
14
CLAUDE.md
|
|
@ -236,6 +236,20 @@ Activity / Refs / Inspector as debug overlays behind the footer's
|
|||
flow, dual-token model, and threat-model boundary — silent failures
|
||||
here usually trace to not understanding the cross-component flow.
|
||||
|
||||
**Embedder terminal-agent ownership** (v1.42.1.0+). `buildFetchHandler`
|
||||
in `browse/src/server.ts` accepts `ServerConfig.ownsTerminalAgent?:
|
||||
boolean` (default `true`). When `true`, factory shutdown runs the full
|
||||
teardown: `pkill -f terminal-agent\.ts` plus `safeUnlinkQuiet` on
|
||||
`<stateDir>/terminal-port` and `<stateDir>/terminal-internal-token`.
|
||||
Embedders (e.g. the gbrowser phoenix overlay) that pre-launch their
|
||||
own PTY server must pass `false` so their discovery files survive
|
||||
gstack teardown cycles. The flag is the third caller-owned teardown
|
||||
gate in `ServerConfig` (alongside `xvfb?` and `proxyBridge?`); polarity
|
||||
is inverted (explicit bool vs presence) and documented in the field's
|
||||
JSDoc. CLI `start()` always passes `true` explicitly — the static-grep
|
||||
test in `browse/test/server-embedder-terminal-port.test.ts` fails CI
|
||||
if a refactor drops it.
|
||||
|
||||
**WebSocket auth uses Sec-WebSocket-Protocol, not cookies.** Browsers
|
||||
can't set `Authorization` on a WebSocket upgrade, but they CAN set
|
||||
`Sec-WebSocket-Protocol` via `new WebSocket(url, [token])`. The agent
|
||||
|
|
|
|||
Loading…
Reference in New Issue