Skip to content

Commit

Permalink
1814 add future loading dialog to prevent user interaction during sig…
Browse files Browse the repository at this point in the history
…nup login loading (#1866)

* chore: updates for running on android for flutter 3.29.0

* feat: show future loading dialog on signup and login

* chore: enable build on iOS for flutter 3.29.0
  • Loading branch information
ggurdin authored Feb 20, 2025
1 parent e591ce3 commit 33208aa
Show file tree
Hide file tree
Showing 28 changed files with 508 additions and 893 deletions.
2 changes: 1 addition & 1 deletion ios/Podfile
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ post_install do |installer|
config.build_settings['ENABLE_BITCODE'] = 'NO'

# see https://github.com/flutter-webrtc/flutter-webrtc/issues/1054
config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '11.0'
config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '13.0'
config.build_settings["EXCLUDED_ARCHS[sdk=iphonesimulator*]"] = 'arm64 i386'
config.build_settings["CLANG_ALLOW_NON_MODULAR_INCLUDES_IN_FRAMEWORK_MODULES"] = 'YES'

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,7 @@
ignoresPersistentStateOnLaunch = "NO"
debugDocumentVersioning = "YES"
debugServiceExtension = "internal"
enableGPUValidationMode = "1"
allowLocationSimulation = "YES">
<BuildableProductRunnable
runnableDebuggingMode = "0">
Expand Down
31 changes: 11 additions & 20 deletions lib/pages/chat_list/chat_list.dart
Original file line number Diff line number Diff line change
Expand Up @@ -4,14 +4,14 @@ import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';

import 'package:app_links/app_links.dart';
import 'package:cross_file/cross_file.dart';
import 'package:flutter_gen/gen_l10n/l10n.dart';
import 'package:flutter_shortcuts/flutter_shortcuts.dart';
import 'package:flutter_shortcuts_new/flutter_shortcuts_new.dart';
import 'package:go_router/go_router.dart';
import 'package:matrix/matrix.dart' as sdk;
import 'package:matrix/matrix.dart';
import 'package:receive_sharing_intent/receive_sharing_intent.dart';
import 'package:uni_links/uni_links.dart';

import 'package:fluffychat/config/app_config.dart';
import 'package:fluffychat/config/themes.dart';
Expand All @@ -38,13 +38,12 @@ import 'package:fluffychat/widgets/share_scaffold_dialog.dart';
import '../../../utils/account_bundles.dart';
import '../../config/setting_keys.dart';
import '../../utils/url_launcher.dart';
import '../../utils/voip/callkeep_manager.dart';
import '../../widgets/fluffy_chat_app.dart';
import '../../widgets/matrix.dart';

import 'package:fluffychat/utils/tor_stub.dart'
if (dart.library.html) 'package:tor_detector_web/tor_detector_web.dart';


enum PopupMenuAction {
settings,
invite,
Expand Down Expand Up @@ -184,23 +183,20 @@ class ChatListController extends State<ChatList>
case ActiveFilter.messages:
return (room) =>
!room.isSpace &&
room.isDirectChat
// #Pangea
room.isDirectChat // #Pangea
&&
!room.isAnalyticsRoom;
// Pangea#
case ActiveFilter.groups:
return (room) =>
!room.isSpace &&
!room.isDirectChat
// #Pangea
!room.isDirectChat // #Pangea
&&
!room.isAnalyticsRoom;
// Pangea#
case ActiveFilter.unread:
return (room) =>
room.isUnreadOrInvited
// #Pangea
room.isUnreadOrInvited // #Pangea
&&
!room.isAnalyticsRoom;
// Pangea#
Expand Down Expand Up @@ -405,11 +401,11 @@ class ChatListController extends State<ChatList>
);
}

void _processIncomingUris(String? text) async {
if (text == null) return;
void _processIncomingUris(Uri? uri) async {
if (uri == null) return;
context.go('/rooms');
WidgetsBinding.instance.addPostFrameCallback((_) {
UrlLauncher(context, text).openMatrixToUrl();
UrlLauncher(context, uri.toString()).openMatrixToUrl();
});
}

Expand All @@ -427,11 +423,8 @@ class ChatListController extends State<ChatList>
.then(_processIncomingSharedMedia);

// For receiving shared Uris
_intentUriStreamSubscription = linkStream.listen(_processIncomingUris);
if (FluffyChatApp.gotInitialLink == false) {
FluffyChatApp.gotInitialLink = true;
getInitialLink().then(_processIncomingUris);
}
_intentUriStreamSubscription =
AppLinks().uriLinkStream.listen(_processIncomingUris);

if (PlatformInfos.isAndroid) {
final shortcuts = FlutterShortcuts();
Expand Down Expand Up @@ -459,7 +452,6 @@ class ChatListController extends State<ChatList>
scrollController.addListener(_onScroll);
_waitForFirstSync();
_hackyWebRTCFixForWeb();
CallKeepManager().initialize();
WidgetsBinding.instance.addPostFrameCallback((_) async {
if (mounted) {
searchServer =
Expand Down Expand Up @@ -851,7 +843,6 @@ class ChatListController extends State<ChatList>
return;
case ChatContextAction.leave:
final confirmed = await showOkCancelAlertDialog(
useRootNavigator: false,
context: context,
title: L10n.of(context).areYouSure,
// #Pangea
Expand Down
2 changes: 1 addition & 1 deletion lib/pages/chat_list/client_chooser_button.dart
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ import 'package:matrix/matrix.dart';

import 'package:fluffychat/pangea/learning_settings/pages/settings_learning.dart';
import 'package:fluffychat/pangea/spaces/utils/space_code.dart';
import 'package:fluffychat/pangea/user/utils/logout.dart';
import 'package:fluffychat/pangea/user/utils/p_logout.dart';
import 'package:fluffychat/widgets/adaptive_dialogs/show_ok_cancel_alert_dialog.dart';
import 'package:fluffychat/widgets/avatar.dart';
import 'package:fluffychat/widgets/matrix.dart';
Expand Down
Loading

0 comments on commit 33208aa

Please sign in to comment.