From 8908f333937d902bff184e8529a79a0c4ef1d18b Mon Sep 17 00:00:00 2001 From: Christian Pauly Date: Thu, 15 Oct 2020 09:08:49 +0200 Subject: [PATCH] fix: Logout from outside --- lib/src/client.dart | 17 ++++++----------- 1 file changed, 6 insertions(+), 11 deletions(-) diff --git a/lib/src/client.dart b/lib/src/client.dart index ff23881..e75d5d0 100644 --- a/lib/src/client.dart +++ b/lib/src/client.dart @@ -509,10 +509,6 @@ class Client extends MatrixApi { final StreamController onLoginStateChanged = StreamController.broadcast(); - /// Synchronization erros are coming here. - final StreamController onError = - StreamController.broadcast(); - /// Synchronization erros are coming here. final StreamController onSyncError = StreamController.broadcast(); @@ -756,18 +752,17 @@ class Client extends MatrixApi { encryption.onSync(); } _retryDelay = Future.value(); - } on MatrixException catch (e) { - onError.add(e); + } on MatrixException catch (e, s) { + onSyncError.add(SdkError(exception: e, stackTrace: s)); + if (e.error == MatrixError.M_UNKNOWN_TOKEN) { + Logs.warning('The user has been logged out!'); + clear(); + } } catch (e, s) { if (!isLogged() || _disposed) return; Logs.error('Error during processing events: ' + e.toString(), s); onSyncError.add(SdkError( exception: e is Exception ? e : Exception(e), stackTrace: s)); - if (e is MatrixException && - e.errcode == MatrixError.M_UNKNOWN_TOKEN.toString().split('.').last) { - Logs.warning('The user has been logged out!'); - clear(); - } } }