mirror of
https://github.com/TwiN/gatus.git
synced 2026-10-22 05:42:33 +00:00
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>