From a5da44fdeafa0783ab53cd377c6620f88c9c3885 Mon Sep 17 00:00:00 2001 From: Henry-Hiles Date: Thu, 24 Sep 2026 11:42:57 -0400 Subject: [PATCH] more restrictive timeout on notification init --- lib/main.dart | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/lib/main.dart b/lib/main.dart index 61a7d20..c91e049 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -71,17 +71,6 @@ void main(List args) async { WidgetsFlutterBinding.ensureInitialized(); MediaKit.ensureInitialized(); - if (Platform.isLinux || Platform.isMacOS || Platform.isWindows) { - await windowManager.ensureInitialized(); - await windowManager.waitUntilReadyToShow( - WindowOptions( - titleBarStyle: TitleBarStyle.hidden, - windowButtonVisibility: false, - ), - ); - await windowManager.setMinimumSize(Size.square(500)); - } - isInBackground = Platform.environment["FLUTTER_HEADLESS"] != null || args.contains("--unifiedpush-bg"); @@ -92,12 +81,23 @@ void main(List args) async { showError(details.exception.toString(), details.stack); if (isInBackground) { - await ProviderContainer().read(UnifiedPushController.provider.future); + await ProviderContainer() + .read(UnifiedPushController.provider.future) + .timeout(Duration(seconds: 20), onTimeout: () => false); - // In case it didn't exit for some reason - await Future.delayed(Duration(seconds: 20)); exit(0); } else { + if (Platform.isLinux || Platform.isMacOS || Platform.isWindows) { + await windowManager.ensureInitialized(); + await windowManager.waitUntilReadyToShow( + WindowOptions( + titleBarStyle: TitleBarStyle.hidden, + windowButtonVisibility: false, + ), + ); + await windowManager.setMinimumSize(Size.square(500)); + } + runApp( ProviderScope( retry: (_, _) => null,