diff --git a/lib/pages/chat_list/chat_list.dart b/lib/pages/chat_list/chat_list.dart index 522e4c7e97..b76f94763b 100644 --- a/lib/pages/chat_list/chat_list.dart +++ b/lib/pages/chat_list/chat_list.dart @@ -488,7 +488,7 @@ class ChatListController extends State ); if (await client.encryption?.keyManager.isCached() == false || await client.encryption?.crossSigning.isCached() == false || - client.isUnknownSession && !mounted) { + client.isUnknownSession && mounted) { final recoveryWords = await _getRecoveryWords(); if (recoveryWords != null) { await TomBootstrapDialog( diff --git a/lib/utils/uia_request_manager.dart b/lib/utils/uia_request_manager.dart index 5679a788b2..1693009d75 100644 --- a/lib/utils/uia_request_manager.dart +++ b/lib/utils/uia_request_manager.dart @@ -2,11 +2,11 @@ import 'dart:async'; import 'package:adaptive_dialog/adaptive_dialog.dart'; import 'package:fluffychat/utils/url_launcher.dart'; +import 'package:fluffychat/widgets/matrix.dart'; +import 'package:fluffychat/widgets/twake_app.dart'; import 'package:flutter_gen/gen_l10n/l10n.dart'; import 'package:matrix/matrix.dart'; -import 'package:fluffychat/widgets/matrix.dart'; - extension UiaRequestManager on MatrixState { Future uiaRequestHandler(UiaRequest uiaRequest) async { final l10n = L10n.of(context)!; @@ -22,7 +22,7 @@ extension UiaRequestManager on MatrixState { case AuthenticationTypes.password: final input = cachedPassword ?? (await showTextInputDialog( - context: context, + context: TwakeApp.routerKey.currentContext!, title: l10n.pleaseEnterYourPassword, okLabel: l10n.ok, cancelLabel: l10n.cancel, @@ -63,7 +63,7 @@ extension UiaRequestManager on MatrixState { if (OkCancelResult.ok == await showOkCancelAlertDialog( useRootNavigator: false, - context: context, + context: TwakeApp.routerKey.currentContext!, title: l10n.weSentYouAnEmail, message: l10n.pleaseClickOnLink, okLabel: l10n.iHaveClickedOnLink, @@ -88,7 +88,7 @@ extension UiaRequestManager on MatrixState { await showOkCancelAlertDialog( useRootNavigator: false, message: l10n.pleaseFollowInstructionsOnWeb, - context: context, + context: TwakeApp.routerKey.currentContext!, okLabel: l10n.next, cancelLabel: l10n.cancel, )) { diff --git a/lib/widgets/twake_app.dart b/lib/widgets/twake_app.dart index 050bb6841b..b0785919d0 100644 --- a/lib/widgets/twake_app.dart +++ b/lib/widgets/twake_app.dart @@ -1,15 +1,15 @@ +import 'package:fluffychat/config/app_config.dart'; import 'package:fluffychat/config/go_routes/go_router.dart'; +import 'package:fluffychat/config/themes.dart'; import 'package:fluffychat/di/global/get_it_initializer.dart'; +import 'package:fluffychat/utils/custom_scroll_behaviour.dart'; import 'package:fluffychat/utils/network_connection_service.dart'; +import 'package:fluffychat/widgets/theme_builder.dart'; import 'package:flutter/material.dart'; - import 'package:flutter_gen/gen_l10n/l10n.dart'; import 'package:go_router/go_router.dart'; import 'package:matrix/matrix.dart'; -import 'package:fluffychat/config/themes.dart'; -import 'package:fluffychat/widgets/theme_builder.dart'; -import '../config/app_config.dart'; -import '../utils/custom_scroll_behaviour.dart'; + import 'matrix.dart'; class TwakeApp extends StatefulWidget { @@ -33,6 +33,7 @@ class TwakeApp extends StatefulWidget { static final GoRouter router = GoRouter( routes: AppRoutes.routes, debugLogDiagnostics: true, + navigatorKey: routerKey, onException: (context, state, router) { Logs().e('GoRouter exception: ${state.error}'); return router.go('/error');