Platform & Access · Server-incident banner
In-app banner that surfaces an open server incident (title, description, last update) to every user, dismissible per session.
| Area | Platform & Access |
| Routes | (application-wide) |
| Centre modules | always available |
| Staff levels | all |
| Models | server-incident |
| UI label | menu.navbar.server-incidents |
| Coverage | 2 use cases · 1 happy · 2 failure |
How it works
Consumer side of the Server incidents admin feature. The application controller exposes incidentTitle, incidentDescription, incidentUpdatedAt and incidentAlertIsClosed plus a closeIncident action. Dismissal is per user per session, so a re-login re-shows the alert.
Use cases
Why someone opens this (2)
- Telling all back-office users that receipt validation is degraded before they open support tickets.
- Announcing a maintenance window from inside the product.
Path map
flowchart LR F(["Server-incident banner"]):::feat F --> H1["Incident announced and acknowledged"]:::ok F -.-> X1["No open incident"]:::bad F -.-> X2["Incident resolved but banner cached"]:::bad classDef feat fill:#4a5c8a,stroke:#4a5c8a,color:#ffffff,font-weight:bold classDef ok fill:#e3f1ea,stroke:#0d6b42,color:#0d4a2e classDef bad fill:#f7e6e2,stroke:#9a2d1c,color:#6e1f13
Happy paths
Incident announced and acknowledged
- An admin creates a server incident under Configuration.
- Every signed-in user sees the banner with title, description and update time.
- A user clicks close;
incidentAlertIsClosedhides it for the rest of the session.
Failure paths
No open incident
Cause — Nothing unresolved to display.
What happens — Banner is simply not rendered.
Incident resolved but banner cached
Cause — The alert is resolved after the page was loaded.
What happens — No live push — the banner clears on the next load/refresh.
QA checklist
Tick these off while regression-testing this feature. The boxes are plain Markdown, so progress is visible in git diffs.
- ✅ Incident announced and acknowledged
- ⛔ No open incident
- ⛔ Incident resolved but banner cached
Implementation
Translation keys (2)
Key English menu.navbar.server-incidentsServer incidents title.header.configuration.server-incidentsServer incidents
Related
- Same area — Staff login · Password reset request · Password update from reset link · Change own password · Idle auto-logout · Centre switching & multi-centre scoping · Desktop (home dashboard) · Runtime environment & white-label boot · Back-office interface language · In-app help & support chat (Froged)
- Shares data with — Server incidents
Generated from doc/feature-inventory.json · id platform-incident-alert · commit 276788ca6