inspector/clients/web/src/components/groups
Repository files (latest commit first)
Filename Latest commit message Latest commit date
cliffhall 1bbdef03eb fix(oauth): keep the scope filter from overwriting persisted storage
Copilot review round 5 on #2114 — a hole in last round's fix.

When the persisted scope was `offline_access` alone,
`scopeForDeclinedRefreshGrant` returned undefined.
`OAuthManager.createOAuthProvider` reads that as "nothing stored" and
seeds storage with the configured scope, so the request-only filter
silently overwrote the value it promised to leave alone — and
re-enabling the grant could no longer restore it.

It now falls back to the configured scope, which is both the right
thing to request and inert to that branch. The previous "storage is
never rewritten" test could not see this: it ran at the provider level,
while the seeding branch lives in the manager. The new regression runs
there, and fails when the fallback is removed.

Also corrects the EMA rationale, which was wrong even though its
conclusion held. `createOAuthProviderForTransport` does build a
`BaseOAuthClientProvider` and wrap it, and `EmaTransportOAuthProvider`
forwards `clientMetadata` — so the setting is not bypassed outright.
What it cannot change is the IdP authorization leg's fixed
`openid offline_access`, which is the leg the user signs in through and
therefore the reason the control cannot affect EMA's consent behavior.
Fixed in the docs, the code comment, the UI string and the test.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013hzwzS8UvBsr4yZm7o7sev
Signed-off-by: cliffhall <cliff@futurescale.com>
2026-08-24 21:48:21 -04:00
..
AppControls SDK v2 migration (behavior-neutral, versionNegotiation: 'legacy') (#1624) 2026-07-15 10:44:24 -04:00
AppDetailPanel fix: gate submission on unsendable field text, and on required tool args 2026-08-15 21:19:04 -04:00
AppListItem refactor(web): sweep AGENTS.md TypeScript + Mantine rule violations (#1771) 2026-07-25 11:38:49 -04:00
ClientSettingsForm refactor(web): sweep AGENTS.md TypeScript + Mantine rule violations (#1771) 2026-07-25 11:38:49 -04:00
ClientSettingsModal feat(web): state the file store as a sentence, and copy its path on click 2026-08-22 14:05:13 -04:00
ConnectionInfoContent Merge pull request #2039 from modelcontextprotocol/v2/chore/1959-no-floating-promises 2026-08-16 22:35:52 -04:00
ConnectionInfoModal fix(web): render the connected header when a modern server omits serverInfo (#1773) 2026-07-25 11:40:31 -04:00
ElicitationFormPanel fix: gate submission on unsendable field text, and on required tool args 2026-08-15 21:19:04 -04:00
ElicitationUrlPanel refactor(web): sweep AGENTS.md TypeScript + Mantine rule violations (#1771) 2026-07-25 11:38:49 -04:00
ExperimentalFeaturesPanel refactor(web): sweep AGENTS.md TypeScript + Mantine rule violations (#1771) 2026-07-25 11:38:49 -04:00
ImportServerJsonPanel refactor(web): sweep AGENTS.md TypeScript + Mantine rule violations (#1771) 2026-07-25 11:38:49 -04:00
InlineElicitationRequest fix: gate submission on unsendable field text, and on required tool args 2026-08-15 21:19:04 -04:00
InlineSamplingRequest MRTR: drive input_required manually to keep pending-request UX (#1704) (#1719) 2026-07-17 23:15:19 -04:00
LogControls refactor(web): sweep AGENTS.md TypeScript + Mantine rule violations (#1771) 2026-07-25 11:38:49 -04:00
LogStreamPanel chore(lint): enable no-floating-promises in all five ESLint scopes 2026-08-16 20:57:32 -04:00
MessageDirectionFilter chore(lint): enable no-floating-promises in all five ESLint scopes 2026-08-16 20:57:32 -04:00
MonitoringControls chore(lint): enable no-floating-promises in all five ESLint scopes 2026-08-16 20:57:32 -04:00
MonitoringScreen chore(lint): enable no-floating-promises in all five ESLint scopes 2026-08-16 20:57:32 -04:00
MrtrConversation chore(deps): migrate to eslint 10 to clear the brace-expansion DoS advisory (#1900) 2026-08-01 20:13:30 -04:00
NetworkControls fix(web): section-header hover outline + clear buttons out of tab order (#1487) (#1488) 2026-06-14 22:27:46 -04:00
NetworkEntry chore(deps): migrate to eslint 10 to clear the brace-expansion DoS advisory (#1900) 2026-08-01 20:13:30 -04:00
NetworkStreamPanel chore(lint): enable no-floating-promises in all five ESLint scopes 2026-08-16 20:57:32 -04:00
OutputValidationModal chore(lint): enable no-floating-promises in all five ESLint scopes 2026-08-16 20:57:32 -04:00
PendingClientRequestModal chore(lint): enable no-floating-promises in all five ESLint scopes 2026-08-16 20:57:32 -04:00
PendingClientRequests refactor(web): sweep AGENTS.md TypeScript + Mantine rule violations (#1771) 2026-07-25 11:38:49 -04:00
PromptArgumentsForm chore(deps): migrate to eslint 10 to clear the brace-expansion DoS advisory (#1900) 2026-08-01 20:13:30 -04:00
PromptControls fix: salvage a list result's valid entries when one is malformed (#1909) 2026-08-15 16:52:11 -04:00
PromptListItem refactor(web): sweep AGENTS.md TypeScript + Mantine rule violations (#1771) 2026-07-25 11:38:49 -04:00
PromptMessagesDisplay SDK v2 migration (behavior-neutral, versionNegotiation: 'legacy') (#1624) 2026-07-15 10:44:24 -04:00
ProtocolControls refactor(web): sweep AGENTS.md TypeScript + Mantine rule violations (#1771) 2026-07-25 11:38:49 -04:00
ProtocolEntry fix: mark a rejected standalone response entry as an error too 2026-08-08 17:11:34 -04:00
ProtocolListPanel chore(lint): enable no-floating-promises in all five ESLint scopes 2026-08-16 20:57:32 -04:00
ReAuthBanner fix(auth): explicit re-authorize when the OAuth callback state was lost (#1808) (#1810) 2026-07-27 18:08:31 -04:00
ResourceControls chore(lint): enable no-floating-promises in all five ESLint scopes 2026-08-16 20:57:32 -04:00
ResourceLink chore(lint): enable no-floating-promises in all five ESLint scopes 2026-08-16 20:57:32 -04:00
ResourceListItem refactor(web): sweep AGENTS.md TypeScript + Mantine rule violations (#1771) 2026-07-25 11:38:49 -04:00
ResourcePreviewPanel SDK v2 migration (behavior-neutral, versionNegotiation: 'legacy') (#1624) 2026-07-15 10:44:24 -04:00
ResourceSubscribedItem test: raise per-file coverage gate to 90 across all clients (closes #1271) (#1532) 2026-06-27 15:26:03 -04:00
ResourceTemplatePanel fix: read the completions map by own property, not through the prototype 2026-08-17 01:25:58 -04:00
RootsTable SDK v2 migration (behavior-neutral, versionNegotiation: 'legacy') (#1624) 2026-07-15 10:44:24 -04:00
SamplingRequestPanel refactor(web): sweep AGENTS.md TypeScript + Mantine rule violations (#1771) 2026-07-25 11:38:49 -04:00
SchemaForm fix(web): focus the enlarged field before paint, and derive its section width 2026-08-24 10:03:44 -04:00
ServerAddMenu feat(web,core): import client configs and registry server.json (#1348) (#1511) 2026-06-23 19:52:08 -04:00
ServerCard refactor(web): sweep AGENTS.md TypeScript + Mantine rule violations (#1771) 2026-07-25 11:38:49 -04:00
ServerConfigModal fix(auth): make the durability guard provenance-aware, and harden the claim 2026-08-22 22:10:07 -04:00
ServerImportConfigModal refactor(web): sweep AGENTS.md TypeScript + Mantine rule violations (#1771) 2026-07-25 11:38:49 -04:00
ServerImportJsonModal refactor(web): sweep AGENTS.md TypeScript + Mantine rule violations (#1771) 2026-07-25 11:38:49 -04:00
ServerListControls refactor(web): sweep AGENTS.md TypeScript + Mantine rule violations (#1771) 2026-07-25 11:38:49 -04:00
ServerRemoveConfirmModal refactor(web): sweep AGENTS.md TypeScript + Mantine rule violations (#1771) 2026-07-25 11:38:49 -04:00
ServerSettingsForm fix(oauth): keep the scope filter from overwriting persisted storage 2026-08-24 21:48:21 -04:00
ServerSettingsModal feat(oauth): make the refresh_token grant opt-out per server 2026-08-24 19:50:57 -04:00
SortableServerCard refactor(web): sweep AGENTS.md TypeScript + Mantine rule violations (#1771) 2026-07-25 11:38:49 -04:00
StepUpAuthModal refactor(web): sweep AGENTS.md TypeScript + Mantine rule violations (#1771) 2026-07-25 11:38:49 -04:00
StructuredOutputPanel chore(lint): enable no-floating-promises in all five ESLint scopes 2026-08-16 20:57:32 -04:00
TaskCard chore(deps): migrate to eslint 10 to clear the brace-expansion DoS advisory (#1900) 2026-08-01 20:13:30 -04:00
TaskControls refactor(web): sweep AGENTS.md TypeScript + Mantine rule violations (#1771) 2026-07-25 11:38:49 -04:00
TaskListPanel refactor(web): sweep AGENTS.md TypeScript + Mantine rule violations (#1771) 2026-07-25 11:38:49 -04:00
ToolControls fix(web): key tool selection by row identity, not name 2026-08-17 00:02:13 -04:00
ToolDetailPanel fix(web): reset a tool form by row identity, not by tool name 2026-08-24 10:18:55 -04:00
ToolListItem refactor(web): sweep AGENTS.md TypeScript + Mantine rule violations (#1771) 2026-07-25 11:38:49 -04:00
ToolResultPanel fix(web): name an empty tool result instead of "No results yet" (#1860) 2026-08-16 18:31:01 -04:00
UrlElicitationErrorModal chore(lint): enable no-floating-promises in all five ESLint scopes 2026-08-16 20:57:32 -04:00
ViewHeader test(web): settle real-timer Transitions so the coverage gate can't leak 'window is not defined' (#1786) (#1793) 2026-07-26 15:49:33 -04:00
protocolUtils.test.ts Resources: subscriptions/listen model on modern servers (era fork) (#1630) (#1730) 2026-07-20 19:33:40 -04:00
protocolUtils.ts Resources: subscriptions/listen model on modern servers (era fork) (#1630) (#1730) 2026-07-20 19:33:40 -04:00