inspector/clients/web/src/components/screens
Repository files (latest commit first)
Filename Latest commit message Latest commit date
cliffhall cbb2afe80c web: deep-link openApp/appArgs/autoOpen — pre-select & pre-fill an app from the URL (#1577)
Closes #1577

Extends the deep link (#1576) to land on a rendered MCP App:

- `&openApp=<toolName>` — once connected and the tool appears in the app list,
  InspectorView switches to the Apps tab and pre-selects it.
- `&appArgs=<base64url(JSON)>` — pre-fills the tool form; values are merged
  **over** `collectSchemaDefaults()` so required-with-default fields don't
  disable "Open App".
- `&autoOpen=<token>` — token-gated auto-click of "Open App".

Adapted to the current architecture (differs from PR #1510's reference):
- Tab state is lifted to App.tsx (#1417), so the openApp effect lives in
  InspectorView and drives `onActiveTabChange("Apps")` + `onAppsUiChange` seed
  + `onSelectApp`, guarded by `deepLinkOpenAppRef` to fire once.
- AppsScreen owns the `running`/iframe state, so `autoOpen` is threaded to it
  as a prop; a fire-once effect defers the open one microtask past the
  synchronous effect body (satisfying `react-hooks/set-state-in-effect`,
  matching App.tsx's connect effect). `resetAppChannels` memoized so the
  effect's deps don't churn.

Tests: InspectorView (tab-switch + pre-select + appArgs-over-defaults merge +
non-app openApp ignored), AppsScreen (autoOpen fires once with seeded values;
no-selection stays idle). README documents the params. Coverage gate green.

Part of the #1579 decomposition (Wave 4).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BrihGWcrM9JGRyu41nzZYw
2026-07-11 22:58:34 -04:00
..
AppsScreen web: deep-link openApp/appArgs/autoOpen — pre-select & pre-fill an app from the URL (#1577) 2026-07-11 22:58:34 -04:00
ConsoleScreen fix(web): make sidebar lists, monitor panels, and Tools placeholder fill height (#1663) (#1664) 2026-07-11 18:45:50 -04:00
LoggingScreen fix(web): make sidebar lists, monitor panels, and Tools placeholder fill height (#1663) (#1664) 2026-07-11 18:45:50 -04:00
NetworkScreen fix(web): make sidebar lists, monitor panels, and Tools placeholder fill height (#1663) (#1664) 2026-07-11 18:45:50 -04:00
PromptsScreen fix(web): make sidebar lists, monitor panels, and Tools placeholder fill height (#1663) (#1664) 2026-07-11 18:45:50 -04:00
ProtocolScreen fix(web): make sidebar lists, monitor panels, and Tools placeholder fill height (#1663) (#1664) 2026-07-11 18:45:50 -04:00
ResourcesScreen test(web): eliminate timeout flakiness in the web test suite (closes #1596) 2026-07-01 21:11:11 -04:00
ServerListScreen Monitoring sidebar toggle, Prompts-style Tools results, and icon-button UI polish (#1661) (#1662) 2026-07-11 17:30:16 -04:00
TasksScreen fix(web): hide resource subscription UI when server lacks subscribe capability (#1479) 2026-06-14 12:54:19 -04:00
ToolsScreen fix(web): make sidebar lists, monitor panels, and Tools placeholder fill height (#1663) (#1664) 2026-07-11 18:45:50 -04:00
screenUiState.ts refactor(web): rename "History" tab/feature to "Protocol" (#1623) 2026-07-09 19:04:54 -04:00