Skip to content

Commit

Permalink
[Encryption] Remove timeout for loading dialog
Browse files Browse the repository at this point in the history
  • Loading branch information
hoangdat committed Feb 7, 2025
1 parent 77d2594 commit 769b409
Show file tree
Hide file tree
Showing 2 changed files with 34 additions and 24 deletions.
32 changes: 30 additions & 2 deletions lib/pages/bootstrap/init_client_dialog.dart
Original file line number Diff line number Diff line change
@@ -1,11 +1,16 @@
import 'dart:async';
import 'package:fluffychat/pages/bootstrap/tom_bootstrap_dialog_mobile_view.dart';
import 'package:fluffychat/pages/bootstrap/tom_bootstrap_dialog_web_view.dart';
import 'package:fluffychat/presentation/model/client_login_state_event.dart';
import 'package:fluffychat/utils/responsive/responsive_utils.dart';
import 'package:fluffychat/widgets/layouts/agruments/logged_in_body_args.dart';
import 'package:fluffychat/widgets/layouts/agruments/logged_in_other_account_body_args.dart';
import 'package:fluffychat/widgets/matrix.dart';
import 'package:fluffychat/widgets/twake_app.dart';
import 'package:flutter/material.dart';
import 'package:flutter_adaptive_scaffold/flutter_adaptive_scaffold.dart';
import 'package:matrix/matrix.dart';
import 'package:flutter_gen/gen_l10n/l10n.dart';

class InitClientDialog extends StatefulWidget {
final Future Function() future;
Expand All @@ -29,6 +34,12 @@ class _InitClientDialogState extends State<InitClientDialog>

StreamSubscription? _clientLoginStateChangedSubscription;

static const breakpointMobileDialogKey =
Key('BreakPointMobileInitClientDialog');

static const breakpointWebAndDesktopDialogKey =
Key('BreakpointWebAndDesktopKeyInitClientDialog');

@override
void initState() {
_initial();
Expand Down Expand Up @@ -130,8 +141,25 @@ class _InitClientDialogState extends State<InitClientDialog>

@override
Widget build(BuildContext context) {
return const Scaffold(
backgroundColor: Colors.transparent,
return SlotLayout(
config: <Breakpoint, SlotLayoutConfig>{
const WidthPlatformBreakpoint(
end: ResponsiveUtils.maxMobileWidth,
): SlotLayout.from(
key: breakpointMobileDialogKey,
builder: (_) => TomBootstrapDialogMobileView(
description: L10n.of(context)!.backingUpYourMessage,
),
),
const WidthPlatformBreakpoint(
begin: ResponsiveUtils.minTabletWidth,
): SlotLayout.from(
key: breakpointWebAndDesktopDialogKey,
builder: (_) => TomBootstrapDialogWebView(
description: L10n.of(context)!.backingUpYourMessage,
),
),
},
);
}
}
26 changes: 4 additions & 22 deletions lib/presentation/mixins/connect_page_mixin.dart
Original file line number Diff line number Diff line change
@@ -1,11 +1,9 @@
import 'dart:convert';

import 'package:fluffychat/config/app_config.dart';
import 'package:fluffychat/pages/auto_homeserver_picker/auto_homeserver_picker.dart';
import 'package:fluffychat/pages/connect/connect_page.dart';
import 'package:fluffychat/pages/connect/sso_login_state.dart';
import 'package:fluffychat/utils/dialog/twake_dialog.dart';
import 'package:fluffychat/utils/exception/homeserver_exception.dart';
import 'package:fluffychat/utils/platform_infos.dart';
import 'package:fluffychat/utils/string_extension.dart';
import 'package:fluffychat/widgets/matrix.dart';
Expand Down Expand Up @@ -147,19 +145,11 @@ mixin ConnectPageMixin {
if (token?.isEmpty ?? false) return SsoLoginState.tokenEmpty;
Matrix.of(context).loginType = LoginType.mLoginToken;
await TwakeDialog.showStreamDialogFullScreen(
future: () => Matrix.of(context)
.getLoginClient()
.login(
future: () => Matrix.of(context).getLoginClient().login(
LoginType.mLoginToken,
token: token,
initialDeviceDisplayName: PlatformInfos.clientName,
)
.timeout(
AutoHomeserverPickerController.autoHomeserverPickerTimeout,
onTimeout: () {
throw CheckHomeserverTimeoutException();
},
),
),
);
return SsoLoginState.success;
} catch (e) {
Expand Down Expand Up @@ -276,19 +266,11 @@ mixin ConnectPageMixin {
}
matrix.loginType = LoginType.mLoginToken;
await TwakeDialog.showStreamDialogFullScreen(
future: () => matrix
.getLoginClient()
.login(
future: () => matrix.getLoginClient().login(
LoginType.mLoginToken,
token: token,
initialDeviceDisplayName: PlatformInfos.clientName,
)
.timeout(
AutoHomeserverPickerController.autoHomeserverPickerTimeout,
onTimeout: () {
throw CheckHomeserverTimeoutException();
},
),
),
);
return SsoLoginState.success;
} catch (e) {
Expand Down

0 comments on commit 769b409

Please sign in to comment.