diff --git a/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml index 1c6f12ff5..179341983 100644 --- a/android/app/src/main/AndroidManifest.xml +++ b/android/app/src/main/AndroidManifest.xml @@ -38,7 +38,7 @@ > await client.accountDataLoading; await client.userDeviceKeysLoading; if (client.prevBatch == null) { - await client.onSync.stream.first; + await client.onSyncStatus.stream + .firstWhere((status) => status.status == SyncStatus.finished); + + if (!mounted) return; + setState(() { + waitForFirstSync = true; + }); // Display first login bootstrap if enabled if (client.encryption?.keyManager.enabled == true) { diff --git a/lib/pages/homeserver_picker/homeserver_picker.dart b/lib/pages/homeserver_picker/homeserver_picker.dart index e0bcf10f1..01d3c2184 100644 --- a/lib/pages/homeserver_picker/homeserver_picker.dart +++ b/lib/pages/homeserver_picker/homeserver_picker.dart @@ -166,8 +166,7 @@ class HomeserverPickerController extends State { isLoading = true; }); try { - final client = await Matrix.of(context).getLoginClient(); - client.login( + await client.login( LoginType.mLoginToken, token: token, initialDeviceDisplayName: PlatformInfos.clientName,