From 94013fb2c6150031eff078308f6ccb40a1cc4686 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Christian=20Ku=C3=9Fowski?= Date: Fri, 20 Jun 2025 09:22:09 +0200 Subject: [PATCH] fix: Multiple problems with SSO --- android/app/src/main/AndroidManifest.xml | 2 +- lib/pages/chat_list/chat_list.dart | 8 +++++++- lib/pages/homeserver_picker/homeserver_picker.dart | 3 +-- 3 files changed, 9 insertions(+), 4 deletions(-) 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,