feat(dashboard): an Alerts widget beside the Overview; the Overview's overflow links to Alerts and Monitors (#5510)
CI / lint (push) Successful in 3s
CI / integration (push) Successful in 1m16s
CI / unit (push) Failing after 1m28s
CI / publish (push) Skipped

The Alerts widget (/alerts/widget) is shaped like every widget: a verdict
("2 firing, 1 silent." / "Nothing firing: all 12 rules are quiet."), then
what is firing or silent with its reading now, what the rule fires on and
since when, then what someone acknowledged and who; a line when alert
email failed in the last 7 days or is retrying (outbox.alert_trouble),
linking admins to Settings -> System; the quiet rules counted, a covering
rule once. It sits beside the Overview in the recommended layout (6x4
each).

The Overview's "+N more" line pointed at the removed /status/; alerts now
link to /alerts/ and monitors to /monitors/.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-10-09 16:27:17 -04:00
co-authored by Claude Opus 5.5
parent defad2e98b
commit 57e1960dc1
10 changed files with 279 additions and 13 deletions
@@ -96,4 +96,8 @@ def test_an_alerts_email_reads_gathering_then_failed_in_history_and_on_system(ap
assert "failed in the last 7 days" in verdict
assert extra in system and "550 mailbox gone" in system
# The dashboard's Alerts widget names the rule and the failed email (#5510).
widget = " ".join((await (await client.get("/alerts/widget")).get_data(as_text=True)).split())
assert "failed in the last 7 days" in widget and 'href="/settings/system/"' in widget
asyncio.run(_go())