clear init complete state on logout

This commit is contained in:
Henry Hiles 2026-10-03 11:56:17 -04:00
commit 493776e3dd
Signed by: Henry-Hiles
SSH key fingerprint: SHA256:VKQUdS31Q90KvX7EkKMHMBpUspcmItAh86a+v7PGiIs
2 changed files with 9 additions and 5 deletions

View file

@ -122,13 +122,15 @@ class ClientController extends AsyncNotifier<int> {
} }
} }
Future<(Event, RoomMetadata)> handlePush(Map<String, dynamic> data) async { Future<(Event, RoomMetadata)?> handlePush(Map<String, dynamic> data) async {
final response = await callGomuksMethod( final response = await callGomuksMethod(
data, data,
(handle, data) async => GomuksHandlePush(handle, data), (handle, data) async => GomuksHandlePush(handle, data),
); );
return ( return response == null
? null
: (
Event.fromJson(response["event"]), Event.fromJson(response["event"]),
RoomMetadata.fromJson(response["room"]), RoomMetadata.fromJson(response["room"]),
); );

View file

@ -9,6 +9,7 @@ import "package:m3e_buttons/m3e_buttons.dart";
import "package:nexus/controllers/account_data.dart"; import "package:nexus/controllers/account_data.dart";
import "package:nexus/controllers/client.dart"; import "package:nexus/controllers/client.dart";
import "package:nexus/controllers/client_state.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/notification.dart";
import "package:nexus/controllers/settings.dart"; import "package:nexus/controllers/settings.dart";
import "package:nexus/controllers/unified_push.dart"; import "package:nexus/controllers/unified_push.dart";
@ -277,6 +278,7 @@ class SettingsSectionsController
.read(UnifiedPushController.provider.notifier) .read(UnifiedPushController.provider.notifier)
.deregister() .deregister()
.onError(showError); .onError(showError);
container.invalidate(InitCompleteController.provider);
await container await container
.read(ClientController.provider.notifier) .read(ClientController.provider.notifier)
.logout() .logout()