diff --git a/lib/controllers/unified_push.dart b/lib/controllers/unified_push.dart index f637156..b9af5b2 100644 --- a/lib/controllers/unified_push.dart +++ b/lib/controllers/unified_push.dart @@ -68,6 +68,7 @@ class UnifiedPushController extends AsyncNotifier { await windowManager.isFocused().onError((_, _) => false) && ref.watch(KeyController.provider(KeyController.roomKey)) == event.roomId)) { + if (isInBackground) exit(0); return; } diff --git a/lib/main.dart b/lib/main.dart index 80c2649..58289f0 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -88,7 +88,13 @@ void main(List args) async { FlutterError.onError = (FlutterErrorDetails details) => showError(details.exception.toString(), details.stack); - if (!isInBackground) { + if (isInBackground) { + await ProviderContainer().read(UnifiedPushController.provider.future); + + // In case it didn't exit for some reason + await Future.delayed(Duration(seconds: 20)); + exit(0); + } else { runApp( ProviderScope( retry: (_, _) => null,