cliffhall
6002c2ce33
fix: gate submission on unsendable field text, and on required tool args
...
A field that cannot turn its text into a value reports `undefined` — which is
exactly what an empty field reports. That made the two indistinguishable to
every caller of `SchemaForm`, so invalid text in an optional field was
submittable and the argument simply arrived absent (#2020 ).
`SchemaForm` now tracks per-field draft validity and reports it through
`onValidityChange`, covering both fields that hold text the form cannot send:
the JSON editor (unparseable text) and the number input (a magnitude JS cannot
hold exactly, which is dropped rather than silently rounded). The number field
also states it on itself, as the JSON editor already did. A nested object form
reports through the same channel, and both the field-level and form-level
effects report "valid" on cleanup so a draft cannot outlive the field that held
it — a remount under a new `resetKey`, or an unmounted panel.
`ToolDetailPanel` gated Execute on `isExecuting` alone, so it also had no
required-argument check at all — unlike the App and elicitation panels. It now
uses `hasMissingRequiredFields` like they do. `InlineElicitationRequest` had
neither gate and gets both.
Signed-off-by: cliffhall <cliff@futurescale.com>
2026-08-15 21:19:04 -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
refactor(web): sweep AGENTS.md TypeScript + Mantine rule violations ( #1771 )
2026-07-25 11:38:49 -04:00
ConnectionInfoContent
fix(web): degrade the connected header to the catalog name for an empty reported serverInfo name ( #1774 ) ( #1775 )
2026-07-25 14:41:42 -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
refactor(web): sweep AGENTS.md TypeScript + Mantine rule violations ( #1771 )
2026-07-25 11:38:49 -04:00
MessageDirectionFilter
refactor(web): sweep AGENTS.md TypeScript + Mantine rule violations ( #1771 )
2026-07-25 11:38:49 -04:00
MonitoringControls
refactor(web): sweep AGENTS.md TypeScript + Mantine rule violations ( #1771 )
2026-07-25 11:38:49 -04:00
MonitoringScreen
web: server-screen, footer, monitoring-sidebar, and responsive-header polish ( #1683 )
2026-07-14 08:55:39 -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
refactor(web): sweep AGENTS.md TypeScript + Mantine rule violations ( #1771 )
2026-07-25 11:38:49 -04:00
OutputValidationModal
refactor(web): sweep AGENTS.md TypeScript + Mantine rule violations ( #1771 )
2026-07-25 11:38:49 -04:00
PendingClientRequestModal
refactor(web): sweep AGENTS.md TypeScript + Mantine rule violations ( #1771 )
2026-07-25 11:38:49 -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: surface list-fetch failures instead of swallowing them
2026-08-08 16:48:48 -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
refactor(web): sweep AGENTS.md TypeScript + Mantine rule violations ( #1771 )
2026-07-25 11:38:49 -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
fix: open the modern listen stream whenever the filter is non-empty ( #1920 )
2026-08-10 23:25:33 -04:00
ResourceLink
refactor(web): sweep AGENTS.md TypeScript + Mantine rule violations ( #1771 )
2026-07-25 11:38:49 -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
chore(deps): migrate to eslint 10 to clear the brace-expansion DoS advisory ( #1900 )
2026-08-01 20:13:30 -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: gate submission on unsendable field text, and on required tool args
2026-08-15 21:19:04 -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
chore(deps): migrate to eslint 10 to clear the brace-expansion DoS advisory ( #1900 )
2026-08-01 20:13:30 -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
refactor(web): sweep AGENTS.md TypeScript + Mantine rule violations ( #1771 )
2026-07-25 11:38:49 -04:00
ServerSettingsModal
refactor(web): sweep AGENTS.md TypeScript + Mantine rule violations ( #1771 )
2026-07-25 11:38:49 -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
test: cover the structured-output cap and the list_items showcase end to end
2026-08-11 10:28:01 -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
test: add a duplicate-tool-names test server for the #1957 repro
2026-08-10 20:22:47 -04:00
ToolDetailPanel
fix: gate submission on unsendable field text, and on required tool args
2026-08-15 21:19:04 -04:00
ToolListItem
refactor(web): sweep AGENTS.md TypeScript + Mantine rule violations ( #1771 )
2026-07-25 11:38:49 -04:00
ToolResultPanel
fix: render a tool result's structuredContent in the Tools screen ( #1908 )
2026-08-11 09:23:43 -04:00
UrlElicitationErrorModal
refactor(web): sweep AGENTS.md TypeScript + Mantine rule violations ( #1771 )
2026-07-25 11:38:49 -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