You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit d30c682
Browse filesBrowse the repository at this point in the historyBrowse files
feat(alerts): resolved events stay in the log, referenced by their closing event (#1349) (#1396)
Resolve used to DELETE the original event from alert_log: after an
outdated -> updated cycle only the 'resolved' event remained, with no
way to review what had actually happened.
- alert_log gains resolved_ts (defensive migration). Resolve marks the
event (and unsets its read mirror so a recurrence with the same stable
id cannot inherit the old read state - #1107 still holds) instead of
deleting the row.
- loadPersisted brings resolved events back into the feed MARKED
(resolvedTs, always read, and they never seed the dedup map: a
recurrence right after a restart must alert immediately, same as the
hot Resolve path).
- persistLocked upserts resolved_ts, so a recurrence with the same
stable id un-resolves the row.
- AlertEvent gains resolves[]: the closing event references what it
closed. Filled for agent outdated->updated and snmp failing->recovered
(the two Resolve pairs; volatile incidents use Remove and never reach
the log).
- UI: resolved events carry a Resolved badge, count under the Resolved
filter tab (warnings/info exclude them, All keeps them), and expanding
a closing event lists the events it resolved (dropdown). i18n es/en.
Tests updated to the new contract (resolved events persist across
restart, read-forgetting on recurrence) plus the pre-existing suite.
Closes#1349
0 commit comments