{{/* triage legend — Acknowledge vs Resolve looks identical on screen
(both leave the Open tab) so the difference needs spelling out. */}}
Acknowledge silences fan-out while the underlying problem is still happening — the alert moves to the Acknowledged tab.
Resolve closes the alert; the next failure raises a fresh one with a new notification.
{{/* alerts table — polled every 15s while the tab is visible.
hx-get re-fetches the same URL (so filter querystring is preserved)
and hx-select pulls just this element out of the full response,
replacing the live one. Pauses automatically when the tab is
backgrounded so we're not burning CPU on inactive tabs.
The polling lives here (not on the page root) so the filter strip
and header don't flash on each tick. */}}
{{/* header row */}}
Kind
Host
Message
Raised
Last seen
live ●
{{if eq (len $page.Alerts) 0}}
{{/* empty state */}}