inspector/clients/web/src/components/elements
Repository files (latest commit first)
Filename Latest commit message Latest commit date
cliffhall c9fb461bf0 fix(web): address Copilot review on the shared JSON editor
- Cap the read-only editor's `maxLines` at 200. Uncapped, Ace renders every
  line of a payload and its viewport virtualization never engages — which
  matters because the Protocol and Network lists are not virtualized and keep
  each entry's payload mounted inside its `Collapse`. 200 is chosen so no real
  payload nests a scrollbar inside its host's while the pathological one stays
  bounded; the StructuredOutputPanel `Large` story now pins both halves (full
  payload in the document, only part of it in the DOM).

- Take a disabled editor out of the tab order and give it `aria-disabled`.
  Ace has no disabled state, so its hidden textarea kept `tabindex="0"` and a
  keyboard user could tab into a field every neighbouring control had dropped
  — landing somewhere that looks editable and swallows what they type. A
  merely read-only editor stays focusable, since a payload has to be
  keyboard-scrollable (WCAG SC 2.1.1).

- Reword a confusing comment in the EditReplayModal test.

The `Disabled` story additionally scopes the axe `color-contrast` rule off:
WCAG 1.4.3 exempts inactive components, and axe cannot see that the dimmed
gutter belongs to one because the disabled state lives on Ace's hidden
textarea. Scoped to that one story so the rule still covers everything else.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01UL9retfvAXRgvi6EWk4SY4
Signed-off-by: cliffhall <cliff@futurescale.com>
2026-08-27 02:44:21 -04:00
..
AnnotationBadge refactor(web): sweep AGENTS.md TypeScript + Mantine rule violations (#1771) 2026-07-25 11:38:49 -04:00
AppElicitation fix(apps): make a covered elicitation dialog inert 2026-08-23 00:02:37 -04:00
AppRenderer test(web): raise the theme-flip waitFor budget 2026-08-24 08:45:40 -04:00
CapabilityItem SDK v2 migration (behavior-neutral, versionNegotiation: 'legacy') (#1624) 2026-07-15 10:44:24 -04:00
CategoryBadge chore(lint): enable no-floating-promises in all five ESLint scopes 2026-08-16 20:57:32 -04:00
ClearButton fix(web): section-header hover outline + clear buttons out of tab order (#1487) (#1488) 2026-06-14 22:27:46 -04:00
CodeHighlight feat(web): use the Ace JSON editor everywhere, and restore the raw-JSON toggle 2026-08-27 02:24:22 -04:00
ConnectionToggle web: Accessibility — accessible palette + WCAG AA contrast, labels, names, roles (#1679) 2026-07-13 18:20:55 -04:00
ContentViewer fix(web): address Copilot review on the shared JSON editor 2026-08-27 02:44:21 -04:00
CopyButton fix: disambiguate the two token rows' controls for screen readers (#2019) 2026-08-15 21:13:11 -04:00
CopyrightBadge web: server-screen, footer, monitoring-sidebar, and responsive-header polish (#1683) 2026-07-14 08:55:39 -04:00
EditReplayButton feat(web): use the Ace JSON editor everywhere, and restore the raw-JSON toggle 2026-08-27 02:24:22 -04:00
EmbeddableScrollArea chore(lint): enable no-floating-promises in all five ESLint scopes 2026-08-16 20:57:32 -04:00
EnlargeButton fix(web): take the enlarge button out of the tab order 2026-08-26 01:13:32 -04:00
EraBadge History: MRTR conversation grouping + modern message vocabulary (#1705) 2026-07-17 20:02:11 -04:00
ExpandToggle chore(lint): enable no-floating-promises in all five ESLint scopes 2026-08-16 20:57:32 -04:00
FilterToggleButton refactor(web): sweep AGENTS.md TypeScript + Mantine rule violations (#1771) 2026-07-25 11:38:49 -04:00
JsonEditor fix(web): address Copilot review on the shared JSON editor 2026-08-27 02:44:21 -04:00
JsonObjectInput feat(web): use the Ace JSON editor everywhere, and restore the raw-JSON toggle 2026-08-27 02:24:22 -04:00
ListChangedIndicator test(coverage): bootstrap vitest unit infra and add tests at 90%+ per file (#1245) (#1269) 2026-05-01 15:15:32 -04:00
ListLoadError fix: surface list-fetch failures instead of swallowing them 2026-08-08 16:48:48 -04:00
ListPaginationControls Thread cacheMode through managed list refresh via SDK cache-aware verbs (#1721) (#1723) 2026-07-19 01:06:31 -04:00
ListToggle refactor(web): sweep AGENTS.md TypeScript + Mantine rule violations (#1771) 2026-07-25 11:38:49 -04:00
LogEntry refactor(web): sweep AGENTS.md TypeScript + Mantine rule violations (#1771) 2026-07-25 11:38:49 -04:00
LogLevelBadge refactor(web): sweep AGENTS.md TypeScript + Mantine rule violations (#1771) 2026-07-25 11:38:49 -04:00
MalformedItemsWarning fix: salvage a list result's valid entries when one is malformed (#1909) 2026-08-15 16:52:11 -04:00
McpErrorBadge chore(lint): enable no-floating-promises in all five ESLint scopes 2026-08-16 20:57:32 -04:00
MessageBubble SDK v2 migration (behavior-neutral, versionNegotiation: 'legacy') (#1624) 2026-07-15 10:44:24 -04:00
MessageDirectionBadge chore(lint): enable no-floating-promises in all five ESLint scopes 2026-08-16 20:57:32 -04:00
MethodBadge chore(lint): enable no-floating-promises in all five ESLint scopes 2026-08-16 20:57:32 -04:00
MonitoringToggle chore(lint): enable no-floating-promises in all five ESLint scopes 2026-08-16 20:57:32 -04:00
MrtrOriginNote refactor(web): sweep AGENTS.md TypeScript + Mantine rule violations (#1771) 2026-07-25 11:38:49 -04:00
PinToggle chore(lint): enable no-floating-promises in all five ESLint scopes 2026-08-16 20:57:32 -04:00
ProgressDisplay SDK v2 migration (behavior-neutral, versionNegotiation: 'legacy') (#1624) 2026-07-15 10:44:24 -04:00
ReplayButton chore(lint): enable no-floating-promises in all five ESLint scopes 2026-08-16 20:57:32 -04:00
ResizeHandle chore(lint): enable no-floating-promises in all five ESLint scopes 2026-08-16 20:57:32 -04:00
ResourceLinkInfo web: Group tool-result resource_links in a scrollable "Resource Links" box with Protocol colors (#1686) 2026-07-15 14:07:27 -04:00
SchemaFindingsList feat: flag unportable tool schemas in all three clients 2026-08-25 01:18:53 -04:00
ScreenStage chore(lint): enable no-floating-promises in all five ESLint scopes 2026-08-16 20:57:32 -04:00
SecretStorageFooter fix(auth): land the round-20 UI wiring that never applied, and nonce the staging name 2026-08-22 22:30:21 -04:00
ServerStatusIndicator web: server-screen, footer, monitoring-sidebar, and responsive-header polish (#1683) 2026-07-14 08:55:39 -04:00
SortToggle refactor(web): sweep AGENTS.md TypeScript + Mantine rule violations (#1771) 2026-07-25 11:38:49 -04:00
SubscribeButton refactor(web): sweep AGENTS.md TypeScript + Mantine rule violations (#1771) 2026-07-25 11:38:49 -04:00
SubscriptionStreamBadge refactor(web): sweep AGENTS.md TypeScript + Mantine rule violations (#1771) 2026-07-25 11:38:49 -04:00
TaskStatusBadge refactor(web): sweep AGENTS.md TypeScript + Mantine rule violations (#1771) 2026-07-25 11:38:49 -04:00
Toasts chore(web): move App.tsx's module-level block into files (#2127) 2026-08-26 18:07:40 -04:00
TransportBadge refactor(web): sweep AGENTS.md TypeScript + Mantine rule violations (#1771) 2026-07-25 11:38:49 -04:00
VersionBadge web: server-screen, footer, monitoring-sidebar, and responsive-header polish (#1683) 2026-07-14 08:55:39 -04:00
accessibleTextColor.test.ts web: Accessibility — accessible palette + WCAG AA contrast, labels, names, roles (#1679) 2026-07-13 18:20:55 -04:00
accessibleTextColor.ts web: Accessibility — accessible palette + WCAG AA contrast, labels, names, roles (#1679) 2026-07-13 18:20:55 -04:00
filledBadgeColor.test.ts web: Accessibility — accessible palette + WCAG AA contrast, labels, names, roles (#1679) 2026-07-13 18:20:55 -04:00
filledBadgeColor.ts web: Accessibility — accessible palette + WCAG AA contrast, labels, names, roles (#1679) 2026-07-13 18:20:55 -04:00