diff --git a/lib/controllers/client.dart b/lib/controllers/client.dart index 0ba29d5..07a3025 100644 --- a/lib/controllers/client.dart +++ b/lib/controllers/client.dart @@ -122,18 +122,16 @@ class ClientController extends AsyncNotifier { } } - Future<(Event, RoomMetadata)?> handlePush(Map data) async { + Future<(Event, RoomMetadata)> handlePush(Map data) async { final response = await callGomuksMethod( data, (handle, data) async => GomuksHandlePush(handle, data), ); - return response == null - ? null - : ( - Event.fromJson(response["event"]), - RoomMetadata.fromJson(response["room"]), - ); + return ( + Event.fromJson(response["event"]), + RoomMetadata.fromJson(response["room"]), + ); } Future _sendCommand( diff --git a/lib/controllers/settings_sections.dart b/lib/controllers/settings_sections.dart index cedd81a..1dd6db9 100644 --- a/lib/controllers/settings_sections.dart +++ b/lib/controllers/settings_sections.dart @@ -9,7 +9,6 @@ import "package:m3e_buttons/m3e_buttons.dart"; import "package:nexus/controllers/account_data.dart"; import "package:nexus/controllers/client.dart"; import "package:nexus/controllers/client_state.dart"; -import "package:nexus/controllers/init_complete.dart"; import "package:nexus/controllers/notification.dart"; import "package:nexus/controllers/settings.dart"; import "package:nexus/controllers/unified_push.dart"; @@ -278,7 +277,6 @@ class SettingsSectionsController .read(UnifiedPushController.provider.notifier) .deregister() .onError(showError); - container.invalidate(InitCompleteController.provider); await container .read(ClientController.provider.notifier) .logout() diff --git a/lib/controllers/unified_push.dart b/lib/controllers/unified_push.dart index c4d923c..6b1538d 100644 --- a/lib/controllers/unified_push.dart +++ b/lib/controllers/unified_push.dart @@ -63,14 +63,10 @@ class UnifiedPushController extends AsyncNotifier { "Failed to decrypt notification. Try toggling off and on UnifiedPush in settings.", ); } - final pushResponse = await ref + final (event, roomMetadata) = await ref .read(ClientController.provider.notifier) .handlePush(json.decode(String.fromCharCodes(message.content))); - if (pushResponse == null) return; - - final (event, roomMetadata) = pushResponse; - if (event.unreadType?.shouldNotify() != true || (!isInBackground && await windowManager.isFocused().onError((_, _) => true) &&