diff --git a/lib/components/matrix.dart b/lib/components/matrix.dart index cf25467..d4b51ce 100644 --- a/lib/components/matrix.dart +++ b/lib/components/matrix.dart @@ -15,6 +15,7 @@ import 'package:localstorage/localstorage.dart'; import 'package:universal_html/prefer_universal/html.dart' as html; import 'package:url_launcher/url_launcher.dart'; +import '../main.dart'; import '../utils/app_route.dart'; import '../utils/beautify_string_extension.dart'; import '../utils/famedlysdk_store.dart'; @@ -83,15 +84,20 @@ class MatrixState extends State { void _initWithStore() async { var initLoginState = client.onLoginStateChanged.stream.first; - client.database = await getDatabase(client); - client.connect(); - if (await initLoginState == LoginState.logged && PlatformInfos.isMobile) { - await FirebaseController.setupFirebase( - this, - widget.clientName, - ); + try { + client.database = await getDatabase(client); + client.connect(); + if (await initLoginState == LoginState.logged && PlatformInfos.isMobile) { + await FirebaseController.setupFirebase( + this, + widget.clientName, + ); + } + _cleanUpUserStatus(userStatuses); + } catch (e, s) { + client.onLoginStateChanged.sink.addError(e, s); + captureException(e, s); } - _cleanUpUserStatus(userStatuses); } Map getAuthByPassword(String password, [String session]) => { diff --git a/lib/utils/famedlysdk_store.dart b/lib/utils/famedlysdk_store.dart index 95386f3..5752ce7 100644 --- a/lib/utils/famedlysdk_store.dart +++ b/lib/utils/famedlysdk_store.dart @@ -36,8 +36,6 @@ Future getDatabase(Client client) async { await store.setItem('database-password', password); } return _db; - } catch (_) { - rethrow; } finally { _generateDatabaseLock = false; }