mirror of
https://github.com/rcourtman/Pulse.git
synced 2026-09-10 10:35:51 +00:00
76dc690840
An alert that resolved while its firing notification was still in the grouping window or waiting in the persistent queue (alert delay pushes activation close to resolution; quiet-hours replay defers delivery) produced a recovery-only notification: CancelAlert dropped the queued firing, but LastNotified had been set optimistically at dispatch, so the resolved-notification gate believed the firing had been sent. CancelAlert now reports whether it cancelled a firing notification that had not been delivered (grouping window entries and pending queue rows; mid-send rows are excluded because their delivery may still complete), and handleAlertResolved suppresses the recovery in that case. This also covers the quiet-hours replay bypass: a recovery only follows a deferred firing if the replay was actually delivered. Addresses #1553