Skip to content

UI: integrate StatusService and configuration pages #5489

Description

@siavashs

Parent: #5451
API dependency: #5477

Summary

Make Status and Configuration the first complete v3alpha-backed Mantine screens by replacing the handwritten API v2 status datasource with generated status.v3alpha.StatusService.GetStatus calls.

Scope

  • Consume generated StatusService bindings through the Connect data layer.
  • Render version and build information.
  • Render cluster name, state, and peers for disabled, settling, ready, and unspecified states.
  • Derive uptime from start_time and update its display without refetching the immutable start timestamp unnecessarily.
  • Render the original loaded configuration with current Mantine 9 syntax highlighting, copy support, and responsive overflow.
  • Handle empty peers, clustering disabled, configuration not yet loaded, Connect errors, cancellation, loading, and retry behavior without assuming optional fields are present.
  • Use semantic headings and tables/cards suitable for screen readers and narrow viewports.
  • While these are the only complete v3alpha-backed screens, redirect /ui/ to /ui/status; switch the default to Alerts only after the Alerts child lands.
  • Remove the handwritten Status type and API v2 query. Remove the generic API v2 fetch layer as soon as no Mantine page uses it.

Acceptance criteria

  • Status and Configuration use only generated v3alpha types and StatusService calls.
  • No /api/v2/status request or arbitrary JSON cast remains.
  • Disabled, settling, ready, unspecified, empty-peer, unavailable, and error states render correctly.
  • Uptime is derived from the protobuf timestamp and updates correctly.
  • Configuration highlighting/copying is accessible and usable on narrow screens.
  • /ui/ redirects to /ui/status until the Alerts page is complete.
  • Component tests cover all response and error states with a generated mock transport.
  • A real Alertmanager smoke test exercises GetStatus at root and non-root route prefixes.

Dependencies and related work

Likely code areas

  • ui/mantine-ui/src/pages/{Status,Config}.page.tsx
  • generated status query adapters and tests
  • ui/mantine-ui/src/data/status.ts, src/data/api.ts
  • route defaults in the application shell

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Type

No type

Projects

Relationships

None yet

Development

No branches or pull requests

Issue actions