Pulse/internal
rcourtman 3d3b1a9642 Stop re-notification spam when alert cooldown is disabled (Fixes #1444)
shouldNotifyAfterCooldown previously returned true on every call when
Schedule.Cooldown was 0 or negative, which the alert evaluation loop
runs on every metric tick. With cooldown disabled, an active alert was
re-notified on each tick.

The UI labels cooldown=0 as "Disabled," so the intuitive contract is
"do not re-notify," not "re-notify continuously." Treat <=0 as
"first-time only": fire the initial notification, then suppress
subsequent re-notifications until the alert clears or the cooldown is
configured to a positive value. Level escalation re-notifications
remain handled at the call site and are unaffected.

Tests cover all three branches: first-time fire with cooldown=0,
re-notification suppression with cooldown=0 (named regression guard
for #1444), and the same behavior for negative values.
2026-05-01 15:04:27 +01:00
..
agentbinaries Use allowlisted host-agent filenames in router 2026-03-31 09:40:54 +01:00
agentexec security: fix websocket scope and agent impersonation 2026-02-03 20:40:08 +00:00
agentupdate Persist QNAP agent updates to data volume (Fixes #1420) 2026-04-17 11:44:17 +01:00
ai Pass keep_alive=30s to Ollama so the model unloads between Patrol runs 2026-04-30 10:59:04 +01:00
alerts Stop re-notification spam when alert cooldown is disabled (Fixes #1444) 2026-05-01 15:04:27 +01:00
api Move v5 maintenance flow onto release/5.1 2026-04-14 18:34:41 +01:00
buffer Fix offline buffering: add tests, remove unused config, fix flaky test 2025-12-02 22:31:44 +00:00
ceph Fix post-release regressions and lock v5 to single-tenant runtime 2026-03-05 23:46:35 +00:00
config Default legacy alert schedule settings 2026-04-05 23:35:54 +01:00
crypto Harden storage path handling for CodeQL 2026-03-31 08:55:45 +01:00
discovery fix: Update runtime config when toggling Docker update actions setting 2026-01-03 11:14:17 +00:00
dockeragent Fix Podman container CPU calculation 2026-04-09 16:17:12 +01:00
errors refactor: Remove unreachable dead code branches 2025-12-02 14:48:57 +00:00
hostagent Detect NAS host vendors from platform files 2026-04-13 11:25:27 +01:00
hostmetrics Prefer root mountpoint for ZFS summaries 2026-04-05 23:35:54 +01:00
infradiscovery Align infra discovery with Patrol interval 2026-04-17 11:10:14 +01:00
kubernetesagent test: expand backend coverage 2026-01-25 21:08:44 +00:00
license Harden storage path handling for CodeQL 2026-03-31 08:55:45 +01:00
logging fix: address linting issues and test adjustments 2026-02-01 23:27:11 +00:00
mdadm Use /proc/mdstat operation type to gate RAID rebuilding alerts 2026-04-30 10:37:47 +01:00
metrics test: expand backend coverage 2026-01-25 21:08:44 +00:00
mock Tighten integer and allocation bounds for CodeQL 2026-03-31 09:50:11 +01:00
models Surface unified-agent filesystems in linked VM/container Overview 2026-04-30 11:24:47 +01:00
monitoring Carry forward previous snapshots for guests we cannot poll this cycle 2026-04-30 11:43:01 +01:00
notifications Stop test-config sends from leaking stale auth into shared SMTP manager 2026-04-30 10:28:47 +01:00
pathutil Harden storage path handling for CodeQL 2026-03-31 08:55:45 +01:00
remoteconfig test: expand backend coverage 2026-01-25 21:08:44 +00:00
resources Use /proc/mdstat operation type to gate RAID rebuilding alerts 2026-04-30 10:37:47 +01:00
sensors fix(temperature): parse string sensor values without zeroing readings (#1224) 2026-02-09 14:00:09 +00:00
servicediscovery Fix oversized AI discovery responses 2026-04-12 22:33:48 +01:00
smartctl Fix RC upgrade ordering and OPNsense SMART temps 2026-04-05 23:35:54 +01:00
ssh/knownhosts Improve internal package test coverage 2025-12-29 17:25:21 +00:00
system Improve internal package test coverage 2025-12-29 17:25:21 +00:00
types test: add unit tests for types package 2025-11-26 14:10:21 +00:00
updatedetection Enhance devcontainer and CI workflows 2026-01-01 22:29:15 +00:00
updates Preflight disk space before Pulse updates 2026-04-15 20:56:58 +01:00
utils Fix RC upgrade ordering and OPNsense SMART temps 2026-04-05 23:35:54 +01:00
websocket Fix post-release regressions and lock v5 to single-tenant runtime 2026-03-05 23:46:35 +00:00