diff --git a/AppImage/scripts/notification_channels.py b/AppImage/scripts/notification_channels.py index 53ff059d..e9b8dcf5 100644 --- a/AppImage/scripts/notification_channels.py +++ b/AppImage/scripts/notification_channels.py @@ -251,7 +251,7 @@ class TelegramChannel(NotificationChannel): .replace('>', '>')) -# ─── Gotify ────────────────────────────────────────────────────── +# ─── Gotify ───────────────────────────────────────��────────────── class GotifyChannel(NotificationChannel): """Gotify push notification channel with priority mapping.""" diff --git a/AppImage/scripts/startup_grace.py b/AppImage/scripts/startup_grace.py index b55d0f89..33a92df8 100644 --- a/AppImage/scripts/startup_grace.py +++ b/AppImage/scripts/startup_grace.py @@ -217,6 +217,11 @@ class _StartupGraceState: """Check if startup aggregation has already been processed.""" with self._lock: return self._startup_aggregated + + def mark_startup_aggregated(self) -> None: + """Mark startup aggregation as completed without returning VMs.""" + with self._lock: + self._startup_aggregated = True # ─── Module-level convenience functions ────────────────────────────────────── @@ -264,6 +269,14 @@ def was_startup_aggregated() -> bool: """Check if startup aggregation has already been processed.""" return _state.was_startup_aggregated() +def mark_startup_aggregated() -> None: + """Mark startup aggregation as completed without processing VMs. + + Use this when skipping startup notification (e.g., service restart + instead of real system boot) to prevent future checks. + """ + _state.mark_startup_aggregated() + def is_real_system_boot() -> bool: """ Check if this is a real system boot (not just a service restart).