// hasUpdates checks an alert against the last notification that was made // about it. func (n *DedupingNotifier) hasUpdate(alert *types.Alert, last *types.NotifyInfo, now time.Time, interval time.Duration) bool { if last != nil { if alert.Resolved() { if last.Resolved { return false } } else if !last.Resolved { // Do not send again if last was delivered unless // the repeat interval has already passed. if !now.After(last.Timestamp.Add(interval)) { return false } } } else if alert.Resolved() { // If the alert is resolved but we never notified about it firing, // there is nothing to do. return false } return true }