Skip to content

UI: add notification observability when NotificationService is defined #5494

Description

@siavashs

Parent: #5451
API design dependency: #5484

Summary

Optionally add notification observability to the Mantine UI after #5484 chooses and publishes a semantics-correct notification.v3alpha.NotificationService contract.

This child is not a legacy-parity requirement and does not block completion of #5451.

Design gate

Do not implement a public page until #5484 decides among:

  1. Retained delivery history.
  2. Latest notification/deduplication state.
  3. Explicit deferral.

The UI must use the language and guarantees of the selected model. It must not present nflog deduplication state as delivery history or expose internal event-recorder/receiver payloads.

If #5484 explicitly defers NotificationService, close this issue as not planned with the API rationale.

Conditional implementation scope

If a service is published:

  • Generate and consume its TypeScript bindings through the shared Connect data layer.
  • Implement list/detail views for the selected state/history model.
  • Support receiver, receiver-label, group, outcome, and time filters that the approved contract defines.
  • Support deterministic ordering and pagination.
  • If WatchNotifications exists, consume it through the shared direct-stream infrastructure with documented snapshot/replay or resnapshot behavior.
  • Explain retention, persistence, HA merge/failover, ordering, cursor, replay, and sanitization limitations in the UI.
  • Provide loading, empty, unavailable, partial-result, and structured-error states.

Acceptance criteria

  • Notification semantics and storage are approved before any UI implementation.
  • UI terminology precisely matches retained history or latest-state semantics.
  • Internal nflog/event-recorder/integration payloads do not leak through the UI contract.
  • List/detail/filter/order/pagination behavior is generated, typed, bounded, and tested.
  • Watch behavior, if available, documents and handles retention, HA, overflow, restart, and replay/resnapshot limits.
  • If the API decision is deferral, this issue is closed as not planned rather than implying a missing implementation.
  • This issue remains excluded from New UI integration with API v3alpha #5451 completion criteria.

Dependencies and related work

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