feat: add persistent browser server with auto-discovery
Add `glimpse serve` which starts geckodriver + Firefox and proxies WebDriver requests through a Unix socket at $XDG_RUNTIME_DIR/glimpse-<uid>.sock. All commands auto-discover the socket and reuse the running browser session (~300ms vs ~2-3s per command). The proxy intercepts session create/delete to keep Firefox alive: new session requests return the existing session ID, delete session navigates to about:blank instead of closing Firefox. - `glimpse serve` starts in foreground, logs to stderr - `glimpse serve --stop` sends shutdown via socket - `glimpse serve --status` prints JSON status - SIGTERM/SIGINT do full cleanup (Firefox + geckodriver + socket) - Second instance detected and rejected with exit code 1 - GLIMPSE_SOCKET_PATH env var for test isolation - Three new smoke tests for serve lifecycle
This commit is contained in:
@@ -42,6 +42,7 @@ Current `glimpse` subcommands:
|
||||
- `exec <url> --js=<code>` or `--script=<file>` - execute JavaScript and return the result
|
||||
- `screenshot <url> --output=<file>` - save a PNG screenshot
|
||||
- `search <query>` - search with a supported provider and output JSON results
|
||||
- `serve` - start a persistent browser server (geckodriver + Firefox) for faster repeat commands; auto-discovered via Unix socket, `--stop` to shut down, `--status` to check
|
||||
|
||||
## Runtime Requirements
|
||||
|
||||
|
||||
Reference in New Issue
Block a user