mirror of
https://github.com/jackwener/OpenCLI.git
synced 2026-09-14 18:25:42 +08:00
db70a3aaf3
* fix: preserve network capture and surface extension mismatch diagnostics Older Browser Bridge installs can still connect to the daemon while missing two capabilities we now rely on: the network-capture actions and the extension version handshake. That created three user-facing failure modes with real impact: 1. `opencli explore ...` crashed with `Unknown action: network-capture-start` against an old extension, so exploration stopped before any site analysis finished. 2. `opencli doctor` and `opencli daemon status` could show a healthy connection even when the extension never reported a version, which hid the compatibility problem and sent users toward the wrong fix. 3. After reloading a new extension, `explore` could still report `Endpoints: 0 total, 0 API` because `handleNavigate()` detached the debugger before top-level navigation and cleared the active network capture state right before the page load we needed to observe. Fix this in two layers: - Teach `Page` to treat unsupported `network-capture-*` actions as an old-extension compatibility case. It now warns once, memoizes the unsupported state, and returns empty capture data instead of throwing. - Teach `doctor` and `daemon status` to treat "connected but version unknown" as a warning instead of a healthy state, so version-handshake failures are visible immediately. - Preserve the debugger attachment while network capture is armed, so the initial navigation keeps the capture state alive and the extension can record requests from the first page load. Before: - `opencli explore ...` -> `Error: Unknown action: network-capture-start` - `opencli doctor` -> `[OK] Extension: connected` / `Everything looks good!` - `opencli daemon status` -> `Extension: connected` even when the extension version was missing - `opencli explore ...` after reloading the extension -> `Endpoints: 0 total, 0 API` After: - `opencli explore ...` on an old extension -> warns once and continues - `opencli doctor` -> `[WARN] Extension: connected (version unknown)` - `opencli daemon status` -> `Extension: connected (version unknown)` - `opencli explore ...` on the reloaded extension keeps network capture armed across navigation instead of clearing it before the page load * fix: reset network capture flags on closeWindow() Prevents stale _networkCaptureUnsupported flag from persisting across sessions when the user reinstalls or reloads the extension mid-session. * fix: startNetworkCapture returns boolean to prevent false-positive on old extensions When the extension doesn't support network-capture-*, startNetworkCapture() now returns false instead of silently resolving. This ensures browser open/ network correctly falls back to the JS interceptor on old extensions. --------- Co-authored-by: jackwener <jakevingoo@gmail.com>