prometheus / prometheus/alertmanager
UI: add parity, accessibility, performance, and release conformance
@siavashs is already working on this.
Since Aug 29, 2026.
- Dominant language
- Go
- Stars
- 8.6k
- Forks
- 2.5k
- Avg merge
- 2d 6h
- Merged PRs (30d)
- 61
Description
Parent: #5451
Related API conformance: #5485
Summary
Establish and execute the final parity, browser E2E, accessibility, security, performance, route-prefix, and release matrix for the required Mantine UI surface.
Service-specific tests remain in their feature issues. This issue proves that the complete required UI works as a bundled Alertmanager application.
Parity matrix
Maintain a checklist against Elm for:
- Alerts, natural/custom grouping, receiver selection, state and label filters, annotations, labels, links, times, expansion, and Silence actions.
- Silence active/pending/expired lists, counts, filters, detail, create, update, annotations, preview, expire/delete, and resulting IDs.
- Status, Configuration, Settings, local preferences, navigation, errors, loading, empty states, and deep links.
- Root/non-root route prefixes and links between Classic and New UI.
Every missing item must be implemented or recorded as an explicit maintainer-approved exception. Optional NotificationService UI is excluded.
Browser and accessibility coverage
- Add Playwright tests against a real built Alertmanager binary.
- Cover
/ui/and a non-root route prefix, direct nested loads, refreshes, route transitions, Connect unary calls/mutations, feature-disabled/enabled errors, reloads, and watch reconnect/resnapshot. - Add automated accessibility checks plus explicit keyboard navigation, focus order/visibility, announcements, zoom, and mobile viewport scenarios.
- Exercise auto/light/dark themes and persisted settings.
Performance and security
- Generate large alert/group/silence datasets and measure initial render, expansion, filtering, pagination, and browser memory.
- Avoid rendering every collapsed alert; add windowing/virtualization where measurement requires it.
- Test labels, annotations, comments, configuration, matchers, and URLs containing hostile, escaped, and UTF-8 values without unsafe HTML or broken links.
- Verify generator/external links use safe target behavior and relative URLs resolve intentionally.
- Verify runtime bootstrap remains CSP-compatible and same-origin authentication works.
Build and release conformance
- Verify clean nested routes and assets under root and non-root route prefixes.
- Verify dynamic HTML caching, immutable asset caching, identity/gzip/Brotli responses, missing-asset 404s, and third-party license attribution.
- Verify common CI and release architectures embed both UIs.
- Verify both prebuilt asset artifacts and their documented extraction workflows.
- Document
/ui/, continued Classic UI availability, v3alpha/feature limitations, and troubleshooting. - Add staged changelog entries for user-visible delivery.
Acceptance criteria
- Every required parity item passes or has a documented maintainer-approved exception.
- Playwright passes against a real binary at
/ui/and a non-root route prefix, including nested refreshes. - Automated accessibility and explicit mobile/keyboard/focus checks pass.
- Large datasets meet agreed rendering and memory thresholds.
- Hostile/escaped/UTF-8 content remains safe and functional.
- CSP-compatible bootstrap, same-origin auth, caching, compression, licenses, and release assets are verified.
- Generated output is reproducible and a second generation produces no diff.
- Mantine typecheck/check/tests/build, Go UI tests,
make common-format,make lint,make test-short, andmake testpass. - Optional notification observability does not block completion.
Dependencies and related work
- Required UI children: #5486, #5487, #5488, #5489, #5490, #5491, and #5492.
- Coordinate browser/API conformance with #5485.
- Large-alert considerations relate to #924.
- Relevant security/path backlog includes #4509, #4499, #2340, #1881, and #1826.
Likely code areas
- Playwright configuration and tests under
ui/mantine-ui/ - component accessibility/performance fixtures
ui/web_test.go,test/e2e/**, and CI workflowsREADME.md,CHANGELOG.md, and UI contributor documentation
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.