From 2add91fc577298d68f5de4eb5736b6776d4a6d8b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Christian=20Ku=C3=9Fowski?= Date: Tue, 30 Sep 2025 12:59:08 +0200 Subject: [PATCH 1/4] chore: Update to matrix sdk main --- .../matrix_sdk_extensions/matrix_locals.dart | 3 ++ pubspec.lock | 45 ++++++++----------- pubspec.yaml | 6 +-- 3 files changed, 25 insertions(+), 29 deletions(-) diff --git a/lib/utils/matrix_sdk_extensions/matrix_locals.dart b/lib/utils/matrix_sdk_extensions/matrix_locals.dart index 82d6e5f05..882faedb2 100644 --- a/lib/utils/matrix_sdk_extensions/matrix_locals.dart +++ b/lib/utils/matrix_sdk_extensions/matrix_locals.dart @@ -360,4 +360,7 @@ class MatrixLocals extends MatrixLocalizations { ? '' : '${duration.inMinutes.toString().padLeft(2, '0')}:${(duration.inSeconds % 60).toString().padLeft(2, '0')}', ); + + @override + String get refreshingLastEvent => l10n.loadingPleaseWait; } diff --git a/pubspec.lock b/pubspec.lock index 5fa3d9d6b..798114479 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -369,14 +369,6 @@ packages: url: "https://pub.dev" source: hosted version: "0.9.9" - enhanced_enum: - dependency: transitive - description: - name: enhanced_enum - sha256: "074c5a8b9664799ca91e1e8b68003b8694cb19998671cbafd9c7779c13fcdecf" - url: "https://pub.dev" - source: hosted - version: "0.2.4" fake_async: dependency: transitive description: @@ -604,10 +596,10 @@ packages: dependency: transitive description: name: flutter_rust_bridge - sha256: b416ff56002789e636244fb4cc449f587656eff995e5a7169457eb0593fcaddb + sha256: "37ef40bc6f863652e865f0b2563ea07f0d3c58d8efad803cc01933a4b2ee067e" url: "https://pub.dev" source: hosted - version: "2.10.0" + version: "2.11.1" flutter_secure_storage: dependency: "direct main" description: @@ -674,10 +666,10 @@ packages: dependency: "direct main" description: name: flutter_vodozemac - sha256: "2405ca121b84d1cd83200a14021022e1691b123a23bcefc36adc7740cefbc1f9" + sha256: "54cd3790b6dfdc1afce928f8c46f7eeea9e4f8326f077400894935926f202057" url: "https://pub.dev" source: hosted - version: "0.2.2" + version: "0.3.0" flutter_web_auth_2: dependency: "direct main" description: @@ -990,6 +982,14 @@ packages: url: "https://pub.dev" source: hosted version: "0.6.7" + js_interop: + dependency: transitive + description: + name: js_interop + sha256: "7ec859c296958ccea34dc770504bd3ff4ae52fdd9e7eeb2bacc7081ad476a1f5" + url: "https://pub.dev" + source: hosted + version: "0.0.1" json_annotation: dependency: transitive description: @@ -1129,10 +1129,11 @@ packages: matrix: dependency: "direct main" description: - name: matrix - sha256: "75b64e31b8b85cd327087683a784b7cf38850ecbeb34fe342034fed0d1c61ea7" - url: "https://pub.dev" - source: hosted + path: "." + ref: HEAD + resolved-ref: b4b9bb6254325e9d00961db3c558db3126359783 + url: "https://github.com/famedly/matrix-dart-sdk.git" + source: git version: "2.0.1" meta: dependency: transitive @@ -1462,14 +1463,6 @@ packages: url: "https://pub.dev" source: hosted version: "2.3.1" - receive_sharing_intent: - dependency: "direct main" - description: - name: receive_sharing_intent - sha256: ec76056e4d258ad708e76d85591d933678625318e411564dcb9059048ca3a593 - url: "https://pub.dev" - source: hosted - version: "1.8.1" record: dependency: "direct main" description: @@ -2103,10 +2096,10 @@ packages: dependency: transitive description: name: vodozemac - sha256: dba14017e042748fb22d270e8ab1d3e46965b89788dd3857dba938ec07571968 + sha256: "95cac62ffab94db99e134c8f9aac198f8131a4eed0bed76a6cfc9c72add229b9" url: "https://pub.dev" source: hosted - version: "0.2.0" + version: "0.3.0" wakelock_plus: dependency: "direct main" description: diff --git a/pubspec.yaml b/pubspec.yaml index 022e862cd..80d166fdb 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -39,7 +39,7 @@ dependencies: flutter_openssl_crypto: ^0.5.0 flutter_secure_storage: ^9.2.4 flutter_shortcuts_new: ^2.0.0 - flutter_vodozemac: ^0.2.2 + flutter_vodozemac: ^0.3.0 flutter_web_auth_2: ^3.1.1 # Version 4 blocked by https://github.com/MixinNetwork/flutter-plugins/issues/379 flutter_webrtc: ^1.2.0 geolocator: ^14.0.2 @@ -53,7 +53,8 @@ dependencies: just_audio: ^0.10.5 latlong2: ^0.9.1 linkify: ^5.0.0 - matrix: ^2.0.1 + matrix: + git: https://github.com/famedly/matrix-dart-sdk.git mime: ^2.0.0 native_imaging: ^0.2.0 opus_caf_converter_dart: ^1.0.1 @@ -66,7 +67,6 @@ dependencies: punycode: ^1.0.0 qr_code_scanner_plus: ^2.0.12 qr_image: ^1.0.0 - receive_sharing_intent: ^1.8.1 record: ^6.1.1 scroll_to_index: ^3.0.1 share_plus: ^12.0.0 From fc4e089da9a247487f25dd7a0609a3de083cde56 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Christian=20Ku=C3=9Fowski?= Date: Tue, 30 Sep 2025 13:01:50 +0200 Subject: [PATCH 2/4] build: Remove openssl dependency --- pubspec.lock | 8 -------- pubspec.yaml | 1 - 2 files changed, 9 deletions(-) diff --git a/pubspec.lock b/pubspec.lock index 798114479..16f538a0b 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -576,14 +576,6 @@ packages: url: "https://pub.dev" source: hosted version: "1.1.1" - flutter_openssl_crypto: - dependency: "direct main" - description: - name: flutter_openssl_crypto - sha256: "293b4fcda13ab0710645a16e82f3d5b7de19bfc0ab2d06bcdb87637222eda5e1" - url: "https://pub.dev" - source: hosted - version: "0.5.0" flutter_plugin_android_lifecycle: dependency: transitive description: diff --git a/pubspec.yaml b/pubspec.yaml index 80d166fdb..80c91ca30 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -36,7 +36,6 @@ dependencies: sdk: flutter flutter_map: ^8.2.2 flutter_new_badger: ^1.1.1 - flutter_openssl_crypto: ^0.5.0 flutter_secure_storage: ^9.2.4 flutter_shortcuts_new: ^2.0.0 flutter_vodozemac: ^0.3.0 From af130815e1f065260acdf3c458b48052818a3aba Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Christian=20Ku=C3=9Fowski?= Date: Tue, 30 Sep 2025 13:51:51 +0200 Subject: [PATCH 3/4] build: Update matrix dart sdk --- pubspec.lock | 10 +++++++++- pubspec.yaml | 1 + 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/pubspec.lock b/pubspec.lock index 16f538a0b..8684a9c3a 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -1123,7 +1123,7 @@ packages: description: path: "." ref: HEAD - resolved-ref: b4b9bb6254325e9d00961db3c558db3126359783 + resolved-ref: "47329df6affd0ccc928e1cd40279bb67cf55ceaf" url: "https://github.com/famedly/matrix-dart-sdk.git" source: git version: "2.0.1" @@ -1455,6 +1455,14 @@ packages: url: "https://pub.dev" source: hosted version: "2.3.1" + receive_sharing_intent: + dependency: "direct main" + description: + name: receive_sharing_intent + sha256: ec76056e4d258ad708e76d85591d933678625318e411564dcb9059048ca3a593 + url: "https://pub.dev" + source: hosted + version: "1.8.1" record: dependency: "direct main" description: diff --git a/pubspec.yaml b/pubspec.yaml index 80c91ca30..d9279268f 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -66,6 +66,7 @@ dependencies: punycode: ^1.0.0 qr_code_scanner_plus: ^2.0.12 qr_image: ^1.0.0 + receive_sharing_intent: ^1.8.1 record: ^6.1.1 scroll_to_index: ^3.0.1 share_plus: ^12.0.0 From 57a5e1c96f9e97950f58b995b51540c2204619ef Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Christian=20Ku=C3=9Fowski?= Date: Tue, 30 Sep 2025 14:11:57 +0200 Subject: [PATCH 4/4] refactor: Rename models for matrix spec 1.16 --- lib/pages/chat_list/chat_list.dart | 2 +- lib/pages/chat_list/chat_list_body.dart | 2 +- lib/pages/chat_list/space_view.dart | 4 ++-- lib/pages/settings/settings.dart | 6 +++++- lib/widgets/adaptive_dialogs/public_room_dialog.dart | 8 ++++---- 5 files changed, 13 insertions(+), 9 deletions(-) diff --git a/lib/pages/chat_list/chat_list.dart b/lib/pages/chat_list/chat_list.dart index 7d64f13d1..ac3df32ae 100644 --- a/lib/pages/chat_list/chat_list.dart +++ b/lib/pages/chat_list/chat_list.dart @@ -235,7 +235,7 @@ class ChatListController extends State final roomId = response.roomId; if (roomId != null) { roomSearchResult.chunk.add( - PublicRoomsChunk( + PublishedRoomsChunk( name: searchQuery, guestCanJoin: false, numJoinedMembers: 0, diff --git a/lib/pages/chat_list/chat_list_body.dart b/lib/pages/chat_list/chat_list_body.dart index d5ec1c096..248ba22d0 100644 --- a/lib/pages/chat_list/chat_list_body.dart +++ b/lib/pages/chat_list/chat_list_body.dart @@ -281,7 +281,7 @@ class PublicRoomsHorizontalList extends StatelessWidget { required this.publicRooms, }); - final List? publicRooms; + final List? publicRooms; @override Widget build(BuildContext context) { diff --git a/lib/pages/chat_list/space_view.dart b/lib/pages/chat_list/space_view.dart index 294bad50e..33ea75344 100644 --- a/lib/pages/chat_list/space_view.dart +++ b/lib/pages/chat_list/space_view.dart @@ -45,7 +45,7 @@ class SpaceView extends StatefulWidget { } class _SpaceViewState extends State { - final List _discoveredChildren = []; + final List _discoveredChildren = []; final TextEditingController _filterController = TextEditingController(); String? _nextBatch; bool _noMoreRooms = false; @@ -95,7 +95,7 @@ class _SpaceViewState extends State { } } - void _joinChildRoom(SpaceRoomsChunk item) async { + void _joinChildRoom(SpaceRoomsChunk$2 item) async { final client = Matrix.of(context).client; final space = client.getRoomById(widget.spaceId); diff --git a/lib/pages/settings/settings.dart b/lib/pages/settings/settings.dart index 5c0dd3484..bb8fa9a10 100644 --- a/lib/pages/settings/settings.dart +++ b/lib/pages/settings/settings.dart @@ -48,7 +48,11 @@ class SettingsController extends State { final matrix = Matrix.of(context); final success = await showFutureLoadingDialog( context: context, - future: () => matrix.client.setDisplayName(matrix.client.userID!, input), + future: () => matrix.client.setProfileField( + matrix.client.userID!, + 'displayname', + {'displayname': input}, + ), ); if (success.error == null) { updateProfile(); diff --git a/lib/widgets/adaptive_dialogs/public_room_dialog.dart b/lib/widgets/adaptive_dialogs/public_room_dialog.dart index a018b8e25..09e125613 100644 --- a/lib/widgets/adaptive_dialogs/public_room_dialog.dart +++ b/lib/widgets/adaptive_dialogs/public_room_dialog.dart @@ -18,7 +18,7 @@ import 'adaptive_dialog_action.dart'; class PublicRoomDialog extends StatelessWidget { final String? roomAlias; - final PublicRoomsChunk? chunk; + final PublishedRoomsChunk? chunk; final List? via; const PublicRoomDialog({super.key, this.roomAlias, this.chunk, this.via}); @@ -68,9 +68,9 @@ class PublicRoomDialog extends StatelessWidget { return; } - bool _testRoom(PublicRoomsChunk r) => r.canonicalAlias == roomAlias; + bool _testRoom(PublishedRoomsChunk r) => r.canonicalAlias == roomAlias; - Future _search(BuildContext context) async { + Future _search(BuildContext context) async { final chunk = this.chunk; if (chunk != null) return chunk; final query = await Matrix.of(context).client.queryPublicRooms( @@ -100,7 +100,7 @@ class PublicRoomDialog extends StatelessWidget { ), content: ConstrainedBox( constraints: const BoxConstraints(maxWidth: 256, maxHeight: 256), - child: FutureBuilder( + child: FutureBuilder( future: _search(context), builder: (context, snapshot) { final theme = Theme.of(context);