mirror of
https://github.com/software-mansion/argent.git
synced 2026-09-14 19:27:14 +08:00
083947111b
## Summary Adds network inspection for Chromium (CDP) devices by extending the **existing** RN network tools rather than adding a new one — so there's one network-viewing surface across platforms. - **`view-network-logs`** and **`view-network-request-details`** now also accept a `chromium-cdp-<port>` `device_id`. They dispatch on the device id (the same pattern the ported `debugger-*` tools and `gesture-tap` use): RN → the Metro-injected `fetch` interceptor; Chromium → the browser's native CDP `Network` recording for the **active tab**. Same flags, same output shape. - Both widen their capability from RN-only to `DEBUGGER_TOOL_CAPABILITY` (apple + android + chromium). ## How the Chromium side works A lean **`NetworkManager`** (`chromium-server/network.ts`) keeps a passive, always-on capped ring buffer fed by the page's CDP `Network` events, re-attached on tab switch so it follows the active tab. No in-app injection (the browser exposes `Network` natively). `view-network-request-details` fetches the response body on demand via `Network.getResponseBody`, and reuses the existing header-redaction. **Read-only**, matching the `view-network-*` contract. Per review, the earlier cut's standalone `chromium-network` tool and its Fetch-based **routing / abort / mock / HAR** were **removed** — the read capability on the existing tools is sufficient. > Rebased onto `main` after #334 (tabs) merged — diff is network-only. ## Test plan - [x] `NetworkManager`: recording (fields/duration/headers/failed, oldest-first), `get()`, `reattach` (Network.enable), `dispose` (disable + detach). - [x] Chromium branch of both view tools: capability now admits chromium, `services()` routing, paginated render matching the RN format, no-traffic message, header redaction, body via `Network.getResponseBody`, not-found. - [x] Updated the RN locked-tools registry test (these two are no longer RN-locked; 15→13) + a positive assertion they now admit Chromium. RN integration tests unchanged/passing. - [x] Full suite **1136 pass**; `tsc --build` + `typecheck:tests` + prettier clean; tool-description gate **9.25 ≥ 9.0**. - [x] **Live (Chrome for Testing)**: `view-network-logs --device_id chromium-cdp-9222` → `=== NETWORK LOGS (page 1/1, 1 total) === {id: …} "GET example.com" 200 Document`; `view-network-request-details` → full request/response headers + body via `getResponseBody`.
6.6 KiB
6.6 KiB