diff --git a/assets/l10n/intl_en.arb b/assets/l10n/intl_en.arb index 00f7356f..721dee5b 100644 --- a/assets/l10n/intl_en.arb +++ b/assets/l10n/intl_en.arb @@ -2659,5 +2659,7 @@ "@thereAreCountUsersBlocked": { "type": "text", "count": {} - } + }, + "restricted": "Restricted", + "knockRestricted": "Knock restricted" } diff --git a/devtools_options.yaml b/devtools_options.yaml new file mode 100644 index 00000000..fa0b357c --- /dev/null +++ b/devtools_options.yaml @@ -0,0 +1,3 @@ +description: This file stores settings for Dart & Flutter DevTools. +documentation: https://docs.flutter.dev/tools/devtools/extensions#configure-extension-enablement-states +extensions: diff --git a/ios/Runner.xcodeproj/project.pbxproj b/ios/Runner.xcodeproj/project.pbxproj index a6ce66d8..8d75b924 100644 --- a/ios/Runner.xcodeproj/project.pbxproj +++ b/ios/Runner.xcodeproj/project.pbxproj @@ -197,6 +197,7 @@ 9705A1C41CF9048500538489 /* Embed Frameworks */, 3B06AD1E1E4923F5004D2608 /* Thin Binary */, F9C8EE392B9AB471149C306E /* [CP] Embed Pods Frameworks */, + 064CBD7CE0D4CD6850C6880A /* [CP] Copy Pods Resources */, ); buildRules = ( ); @@ -288,6 +289,23 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ + 064CBD7CE0D4CD6850C6880A /* [CP] Copy Pods Resources */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-resources-${CONFIGURATION}-input-files.xcfilelist", + ); + name = "[CP] Copy Pods Resources"; + outputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-resources-${CONFIGURATION}-output-files.xcfilelist", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-resources.sh\"\n"; + showEnvVarsInLog = 0; + }; 3B06AD1E1E4923F5004D2608 /* Thin Binary */ = { isa = PBXShellScriptBuildPhase; alwaysOutOfDate = 1; diff --git a/lib/pages/chat_access_settings/chat_access_settings_page.dart b/lib/pages/chat_access_settings/chat_access_settings_page.dart index 48d2d950..7de6f379 100644 --- a/lib/pages/chat_access_settings/chat_access_settings_page.dart +++ b/lib/pages/chat_access_settings/chat_access_settings_page.dart @@ -266,6 +266,10 @@ extension JoinRulesDisplayString on JoinRules { return l10n.usersMustKnock; case JoinRules.private: return l10n.noOneCanJoin; + case JoinRules.restricted: + return l10n.restricted; + case JoinRules.knockRestricted: + return l10n.knockRestricted; } } } diff --git a/lib/pages/settings_ignore_list/settings_ignore_list_view.dart b/lib/pages/settings_ignore_list/settings_ignore_list_view.dart index edd26312..dee5e808 100644 --- a/lib/pages/settings_ignore_list/settings_ignore_list_view.dart +++ b/lib/pages/settings_ignore_list/settings_ignore_list_view.dart @@ -62,8 +62,14 @@ class SettingsIgnoreListView extends StatelessWidget { ), Expanded( child: StreamBuilder( - stream: client.onAccountData.stream - .where((a) => a.type == 'm.ignored_user_list'), + stream: client.onSync.stream.where( + (syncUpdate) => + syncUpdate.accountData?.any( + (accountData) => + accountData.type == 'm.ignored_user_list', + ) ?? + false, + ), builder: (context, snapshot) { return ListView.builder( itemCount: client.ignoredUsers.length, diff --git a/lib/pages/settings_notifications/settings_notifications_view.dart b/lib/pages/settings_notifications/settings_notifications_view.dart index 978858a0..6c1d45cc 100644 --- a/lib/pages/settings_notifications/settings_notifications_view.dart +++ b/lib/pages/settings_notifications/settings_notifications_view.dart @@ -22,11 +22,13 @@ class SettingsNotificationsView extends StatelessWidget { ), body: MaxWidthBody( child: StreamBuilder( - stream: Matrix.of(context) - .client - .onAccountData - .stream - .where((event) => event.type == 'm.push_rules'), + stream: Matrix.of(context).client.onSync.stream.where( + (syncUpdate) => + syncUpdate.accountData?.any( + (accountData) => accountData.type == 'm.push_rules', + ) ?? + false, + ), builder: (BuildContext context, _) { return Column( children: [ diff --git a/lib/pages/settings_style/settings_style_view.dart b/lib/pages/settings_style/settings_style_view.dart index 0286ff70..86f48fe8 100644 --- a/lib/pages/settings_style/settings_style_view.dart +++ b/lib/pages/settings_style/settings_style_view.dart @@ -205,10 +205,14 @@ class SettingsStyleView extends StatelessWidget { ), ), StreamBuilder( - stream: client.onAccountData.stream.where( - (data) => - data.type == - ApplicationAccountConfigExtension.accountDataKey, + stream: client.onSync.stream.where( + (syncUpdate) => + syncUpdate.accountData?.any( + (accountData) => + accountData.type == + ApplicationAccountConfigExtension.accountDataKey, + ) ?? + false, ), builder: (context, snapshot) { final accountConfig = client.applicationAccountConfig; diff --git a/lib/widgets/chat_settings_popup_menu.dart b/lib/widgets/chat_settings_popup_menu.dart index 23732aeb..6d9a4ce5 100644 --- a/lib/widgets/chat_settings_popup_menu.dart +++ b/lib/widgets/chat_settings_popup_menu.dart @@ -37,9 +37,15 @@ class ChatSettingsPopupMenuState extends State { Widget build(BuildContext context) { notificationChangeSub ??= Matrix.of(context) .client - .onAccountData + .onSync .stream - .where((u) => u.type == 'm.push_rules') + .where( + (syncUpdate) => + syncUpdate.accountData?.any( + (accountData) => accountData.type == 'm.push_rules', + ) ?? + false, + ) .listen( (u) => setState(() {}), ); diff --git a/pubspec.lock b/pubspec.lock index e954dff8..53279528 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -1210,10 +1210,10 @@ packages: dependency: "direct main" description: name: matrix - sha256: b96f16ec227138a61d148f2812c4d558b2930edbb6cd05d03b3a41c4fffd2f47 + sha256: "668ed9b7279ac9c364c687585e606c1122f88d6e2e3410ba781a167b47cd9471" url: "https://pub.dev" source: hosted - version: "0.29.7" + version: "0.29.9" meta: dependency: transitive description: diff --git a/pubspec.yaml b/pubspec.yaml index 705c8fe5..17ad68c6 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -64,7 +64,7 @@ dependencies: keyboard_shortcuts: ^0.1.4 latlong2: ^0.9.1 linkify: ^5.0.0 - matrix: ^0.29.7 + matrix: ^0.29.9 native_imaging: ^0.1.1 package_info_plus: ^6.0.0 pasteboard: ^0.2.0