Fix #944 — one-click snooze from alert tray popup#946
Merged
erikdarlingdata merged 1 commit intodevfrom May 8, 2026
Merged
Conversation
Replaces the standard non-interactive Windows toast for the seven fired alerts (CPU, Blocking, Deadlocks, Poison Wait, Long-Running Query, TempDB Space, Long-Running Job) with a custom WPF balloon that has "Snooze 15m / 1h / 4h" + "Dismiss" buttons. Snoozing creates a temporary mute rule scoped to ServerName + MetricName with the chosen expiration, which the existing alert-fire path already honors for both email and Teams/Slack webhook delivery. Status notifications (Online/Offline + 7 Cleared/Resolved) keep using the standard non-interactive balloon since there's nothing to snooze. Addresses the firefighting workflow described in #943. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This was referenced May 8, 2026
Open
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
MuteRulescoped toServerName + MetricNamewith the chosen expiration. The existing alert-fire path already honors mute rules for both email and Teams/Slack webhook delivery, so a snooze silences all three channels until it expires.Addresses the firefighting workflow described in #943, where deadlock alerts kept paging Teams for an hour after the underlying issue was resolved because the rolling-window count still had data points.
Files
Lite/Controls/SnoozeBalloon.xaml+.xaml.cs(new) — WPF UserControl. Severity icon + color match the alert level. Closes viaTaskbarIcon.BalloonClosingEventafter click.Lite/Services/SystemTrayService.cs— addsShowSnoozableNotification(...)using_trayIcon.ShowCustomBalloon(...)with a 15s auto-close.Lite/MainWindow.xaml.cs— swaps 7 fired-alert call sites to the new method. The 9 status notifications keep using the standard balloon.Scope decision
Snooze creates a rule keyed only on
ServerName + MetricName. Mid-incident the user wants "shut up about deadlocks on this box for an hour," not "shut up about this exact query." For narrower scoping, Settings → Manage Mute Rules still works.Test plan
Cleared/Resolvednotifications still appear as standard Windows toasts when the underlying condition recovers.Follow-up (separate PR, not in this branch)
Email body and Teams/Slack webhook payload should also include a one-liner pointing at Settings → Manage Mute Rules for discoverability when the alert lands somewhere other than the desktop. Tracked under #944.
🤖 Generated with Claude Code