mirror of
https://github.com/rcourtman/Pulse.git
synced 2026-10-06 21:03:34 +00:00
Extract shared alert acknowledgement owner
This commit is contained in:
@@ -177,12 +177,19 @@ Active alert card state, acknowledged badge, and primary/secondary action
|
||||
button presentation now route through
|
||||
`frontend-modern/src/utils/alertOverviewPresentation.ts` instead of remaining
|
||||
inline in `frontend-modern/src/features/alerts/OverviewTab.tsx`.
|
||||
The canonical overview runtime owner is now
|
||||
`frontend-modern/src/features/alerts/useAlertOverviewState.ts`, which owns the
|
||||
derived alert read-model, Last 24 Hours stat refresh, and single/bulk
|
||||
acknowledge control flow for `frontend-modern/src/features/alerts/OverviewTab.tsx`.
|
||||
Future overview action or stat behavior should extend that hook instead of
|
||||
putting acknowledge mutations and timer state back into the tab shell.
|
||||
The canonical shared alert-acknowledgement runtime owner is now
|
||||
`frontend-modern/src/features/alerts/useAlertAcknowledgementState.ts`, which
|
||||
owns optimistic single/bulk acknowledge control flow, restore behavior, and
|
||||
notification feedback for both
|
||||
`frontend-modern/src/features/alerts/useAlertOverviewState.ts` and
|
||||
`frontend-modern/src/components/Alerts/RecentAlertsPanel.tsx`.
|
||||
`frontend-modern/src/features/alerts/useAlertOverviewState.ts` now owns the
|
||||
derived alert read-model and Last 24 Hours stat refresh for
|
||||
`frontend-modern/src/features/alerts/OverviewTab.tsx`, while composing that
|
||||
shared acknowledgement owner instead of keeping its own alert mutation fork.
|
||||
Future overview or dashboard recent-alert action behavior should extend that
|
||||
shared acknowledgement hook instead of putting acknowledge mutations back into
|
||||
either render shell.
|
||||
Dashboard recent-alert rendering and dashboard alert summary/tone copy now
|
||||
route through that same alert overview presentation owner and the alert-owned
|
||||
`frontend-modern/src/components/Alerts/RecentAlertsPanel.tsx` surface instead
|
||||
|
||||
@@ -218,6 +218,15 @@ customization surfaces. Lane-owned widgets like recent alerts, storage,
|
||||
and recovery must continue to route through their own subsystem owners instead
|
||||
of drifting back into a page-local dashboard panel cluster.
|
||||
|
||||
Feature-owned alert shells under `frontend-modern/src/features/alerts/` now
|
||||
also treat shared action runtime as a first-class feature owner instead of
|
||||
rebuilding it per surface. The overview shell and dashboard recent-alerts panel
|
||||
must both compose
|
||||
`frontend-modern/src/features/alerts/useAlertAcknowledgementState.ts` for
|
||||
acknowledge/restore behavior rather than keeping duplicate API and notification
|
||||
logic inline in `useAlertOverviewState.ts` or
|
||||
`frontend-modern/src/components/Alerts/RecentAlertsPanel.tsx`.
|
||||
|
||||
The updates settings surface now follows the same presentation-owner rule.
|
||||
`frontend-modern/src/components/Settings/UpdatesSettingsPanel.tsx` stays the
|
||||
top-level settings shell, while
|
||||
|
||||
@@ -236,7 +236,11 @@ That route shell now also composes the recent-alerts widget directly from the
|
||||
alert-owned `frontend-modern/src/components/Alerts/RecentAlertsPanel.tsx`
|
||||
surface instead of via a dashboard-panels-local alert implementation, so the
|
||||
dashboard route stays storage/recovery-owned while alert widget runtime remains
|
||||
owned by the alerts subsystem.
|
||||
owned by the alerts subsystem. That route handoff must stay thin: the dashboard
|
||||
page should pass the live alert list into `RecentAlertsPanel` and let the
|
||||
alert-owned surface derive its own summary and acknowledgement state instead of
|
||||
rebuilding alert summary counts or alert-action runtime inside the
|
||||
storage/recovery-governed dashboard route.
|
||||
The shared recovery type contract must be pinned the same way:
|
||||
`frontend-modern/src/types/recovery.ts` must stay on the explicit
|
||||
`recovery-product-surface` proof path instead of riding indirectly on route or
|
||||
|
||||
Reference in New Issue
Block a user