Files
1cf79275cd Honor minimum-reminder-interval for external endpoints (#1773)
External endpoints run alerting against a ToEndpoint() copy on every
heartbeat tick and every pushed result. Alert.Triggered survives the
conversion because the Alerts slice elements are shared, but
Endpoint.LastReminderSent lives on the copy: handleAlertsToTrigger
stamped it there and the value was discarded, so the next tick's copy
started from the zero time, time.Since(zero) was always past the
interval, and the alert re-sent on every evaluation —
minimum-reminder-interval was effectively ignored (#1765).

ToEndpoint now carries LastReminderSent over, ExternalEndpoint gains the
field, and both call sites (heartbeat watchdog and the push API) sync it
back alongside the counters they already sync.

Co-authored-by: yzxcj797 <yzxcj797@users.noreply.github.com>
2026-10-04 23:16:37 -04:00
..