diff --git a/Dashboard/MainWindow.xaml.cs b/Dashboard/MainWindow.xaml.cs
index 9ff95486..3afcf7e6 100644
--- a/Dashboard/MainWindow.xaml.cs
+++ b/Dashboard/MainWindow.xaml.cs
@@ -445,6 +445,12 @@ private void OpenServerTab(ServerConnection server)
Helpers.ServerTimeHelper.UtcOffsetMinutes = utcOffset;
var serverTab = new ServerTab(server, utcOffset);
+ serverTab.AlertAcknowledged += (_, _) =>
+ {
+ _emailAlertService.HideAllAlerts(8760, server.DisplayName);
+ UpdateAlertBadge();
+ _alertsHistoryContent?.RefreshAlerts();
+ };
var headerPanel = new StackPanel { Orientation = Orientation.Horizontal };
var headerText = new TextBlock
diff --git a/Dashboard/ServerTab.xaml.cs b/Dashboard/ServerTab.xaml.cs
index 055fb452..5c849416 100644
--- a/Dashboard/ServerTab.xaml.cs
+++ b/Dashboard/ServerTab.xaml.cs
@@ -28,6 +28,12 @@ public partial class ServerTab : UserControl
private readonly ICredentialService _credentialService;
private ServerHealthStatus? _lastKnownStatus;
+ ///
+ /// Raised when the user acknowledges a sub-tab alert (Locking, Memory, etc.)
+ /// so the sidebar badge can be updated.
+ ///
+ public event EventHandler? AlertAcknowledged;
+
///
/// This server's UTC offset in minutes, used to restore the global
/// ServerTimeHelper when this tab becomes active.
@@ -3097,6 +3103,8 @@ private void AcknowledgeSubTabAlert_Click(object sender, RoutedEventArgs e)
{
badge.Visibility = Visibility.Collapsed;
}
+
+ AlertAcknowledged?.Invoke(this, EventArgs.Empty);
}
}
}