Skip to content

feat(providers): dependencies role, webUrl plumbing, confirm-remove dialog#97

Closed
WZ wants to merge 1 commit into
feat/qa-batch-0-playwright-infrafrom
feat/qa-batch-a-provider-form
Closed

feat(providers): dependencies role, webUrl plumbing, confirm-remove dialog#97
WZ wants to merge 1 commit into
feat/qa-batch-0-playwright-infrafrom
feat/qa-batch-a-provider-form

Conversation

@WZ
Copy link
Copy Markdown
Owner

@WZ WZ commented Apr 17, 2026

Summary

Batch A of the QA fix plan. Addresses 5 P3 findings in the provider form, card, and registry.

Test plan

  • npx tsc --noEmit — clean
  • npx vitest run — 82 files / 1065 tests pass (was 1035 before this patch)
  • npx vitest run src/mcp/provider-registry.test.ts — 28 pass including 2 new regression tests
  • npx vitest run src/web/components/providers/ProviderForm.test.tsx — 8 pass
  • npx vitest run src/web/components/providers/ProviderCard.test.tsx — 4 pass
  • npx vitest run src/web/components/ConfirmActionDialog.test.tsx — 11 pass
  • npx vitest run src/web/components/ProvidersPage.test.tsx — 4 pass (webUrl POST/PUT round-trip, remove-confirm-cancel, remove-confirm-delete)
  • npx playwright test --list — all 9 specs parse, Batch-A fixmes unskipped (4 now live)
  • npm run build:web — 2163 modules transformed, no errors
  • Playwright E2E against a local server — run in CI

Batch A of the QA fix plan. Five provider-form/registry issues:

- Add `dependencies` role checkbox (schema already accepted it).
- Thread optional `webUrl` through ProviderForm → handleSave POST/PUT →
  handleEdit round-trip → ProviderCard (renders as "Open" link).
- Fallback the /api/branding `grafanaUrl` to a metrics-role provider's
  webUrl so Service Detail's "Open in Grafana" button lights up even
  when only `metrics` is tagged (common single-Grafana setup).
- Replace instant Remove delete with a reusable, keyboard-safe
  `ConfirmActionDialog` (Cancel default-focused, destructive variant).
- Add `aria-label="Providers YAML"` to the YAML import textarea.
- Fix `ProviderRegistry.test()` to re-run auto-compute of
  `enabledTools`/`enabledToolCount` after a successful reconnect so the
  UI no longer shows stale counts like "0 tools (41 enabled)". User
  curation is preserved when any previously-enabled tool survives the
  reconnect.

Also unskips the four Batch-A e2e specs now that the features exist.

Tests: +30 across ConfirmActionDialog, ProviderForm, ProviderCard,
ProvidersPage (add/edit/remove round-trip), and ProviderRegistry
(stale-enabledToolCount regression + user-curation preservation).
@WZ WZ deleted the branch feat/qa-batch-0-playwright-infra April 17, 2026 19:32
@WZ WZ closed this Apr 17, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant