From 58fe80de0f8e7e796d229f02686dd1e3b699e94d Mon Sep 17 00:00:00 2001 From: "lauren n. liberda" Date: Thu, 16 Nov 2023 01:33:48 +0100 Subject: [PATCH 1/4] chore: upgrade flutter to 3.16.0 --- .github/workflows/versions.env | 2 +- pubspec.lock | 52 ++++++++++++++++++---------------- pubspec.yaml | 10 +++++++ 3 files changed, 38 insertions(+), 26 deletions(-) diff --git a/.github/workflows/versions.env b/.github/workflows/versions.env index 7ad54f1fe..2fd07e8a9 100644 --- a/.github/workflows/versions.env +++ b/.github/workflows/versions.env @@ -1,2 +1,2 @@ -FLUTTER_VERSION=3.13.9 +FLUTTER_VERSION=3.16.0 JAVA_VERSION=17 \ No newline at end of file diff --git a/pubspec.lock b/pubspec.lock index 8b2b21cb2..bb2b26b86 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -197,10 +197,10 @@ packages: dependency: "direct main" description: name: collection - sha256: f092b211a4319e98e5ff58223576de6c2803db36221657b46c82574721240687 + sha256: ee67cb0715911d28db6bf4af1026078bd6f0128b07a5f66fb2ed94ec6783c09a url: "https://pub.dev" source: hosted - version: "1.17.2" + version: "1.18.0" console: dependency: transitive description: @@ -465,10 +465,11 @@ packages: flutter_blurhash: dependency: "direct main" description: - name: flutter_blurhash - sha256: "05001537bd3fac7644fa6558b09ec8c0a3f2eba78c0765f88912882b1331a5c6" - url: "https://pub.dev" - source: hosted + path: "." + ref: eb9565f9d5731d4729bd7605510cec0f9e172e5f + resolved-ref: eb9565f9d5731d4729bd7605510cec0f9e172e5f + url: "https://github.com/Craftplacer/flutter_blurhash.git" + source: git version: "0.7.0" flutter_cache_manager: dependency: "direct main" @@ -627,10 +628,11 @@ packages: flutter_math_fork: dependency: "direct main" description: - name: flutter_math_fork - sha256: a143a3a89131b578043ecbdb5e759c1033a1b3e9174f5cd1b979d93f4a7fb41c - url: "https://pub.dev" - source: hosted + path: "." + ref: "3442b36a436880ce1c023e25c868d6f4004c4c24" + resolved-ref: "3442b36a436880ce1c023e25c868d6f4004c4c24" + url: "https://github.com/The-Redhat/flutter_math_fork.git" + source: git version: "0.7.1" flutter_native_splash: dependency: "direct dev" @@ -1185,10 +1187,10 @@ packages: dependency: transitive description: name: meta - sha256: "3c74dbf8763d36539f114c799d8a2d87343b5067e9d796ca22b5eb8437090ee3" + sha256: a6e590c838b18133bb482a2745ad77c5bb7715fb0451209e1a7567d416678b8e url: "https://pub.dev" source: hosted - version: "1.9.1" + version: "1.10.0" mgrs_dart: dependency: transitive description: @@ -1385,10 +1387,10 @@ packages: dependency: transitive description: name: platform - sha256: "4a451831508d7d6ca779f7ac6e212b4023dd5a7d08a27a63da33756410e32b76" + sha256: ae68c7bfcd7383af3629daafb32fb4e8681c7154428da4febcff06200585f102 url: "https://pub.dev" source: hosted - version: "3.1.0" + version: "3.1.2" platform_detect: dependency: transitive description: @@ -1734,18 +1736,18 @@ packages: dependency: transitive description: name: stack_trace - sha256: c3c7d8edb15bee7f0f74debd4b9c5f3c2ea86766fe4178eb2a18eb30a0bdaed5 + sha256: "73713990125a6d93122541237550ee3352a2d84baad52d375a4cad2eb9b7ce0b" url: "https://pub.dev" source: hosted - version: "1.11.0" + version: "1.11.1" stream_channel: dependency: transitive description: name: stream_channel - sha256: "83615bee9045c1d322bbbd1ba209b7a749c2cbcdcb3fdd1df8eb488b3279c1c8" + sha256: ba2aa5d8cc609d96bbb2899c28934f9e1af5cddbd60a827822ea467161eb54e7 url: "https://pub.dev" source: hosted - version: "2.1.1" + version: "2.1.2" string_scanner: dependency: transitive description: @@ -1790,10 +1792,10 @@ packages: dependency: transitive description: name: test_api - sha256: "75760ffd7786fffdfb9597c35c5b27eaeec82be8edfb6d71d32651128ed7aab8" + sha256: "5c2f730018264d276c20e4f1503fd1308dfbbae39ec8ee63c5236311ac06954b" url: "https://pub.dev" source: hosted - version: "0.6.0" + version: "0.6.1" timezone: dependency: transitive description: @@ -2094,10 +2096,10 @@ packages: dependency: transitive description: name: vm_service - sha256: c620a6f783fa22436da68e42db7ebbf18b8c44b9a46ab911f666ff09ffd9153f + sha256: c538be99af830f478718b51630ec1b6bee5e74e52c8a802d328d9e71d35d2583 url: "https://pub.dev" source: hosted - version: "11.7.1" + version: "11.10.0" wakelock_platform_interface: dependency: transitive description: @@ -2143,10 +2145,10 @@ packages: dependency: transitive description: name: web - sha256: dc8ccd225a2005c1be616fe02951e2e342092edf968cf0844220383757ef8f10 + sha256: afe077240a270dcfd2aafe77602b4113645af95d0ad31128cc02bce5ac5d5152 url: "https://pub.dev" source: hosted - version: "0.1.4-beta" + version: "0.3.0" webdriver: dependency: transitive description: @@ -2220,5 +2222,5 @@ packages: source: hosted version: "3.1.2" sdks: - dart: ">=3.1.0 <4.0.0" + dart: ">=3.2.0-194.0.dev <4.0.0" flutter: ">=3.13.0" diff --git a/pubspec.yaml b/pubspec.yaml index 64017f11b..0b5d46802 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -146,6 +146,16 @@ msix_config: install_certificate: false dependency_overrides: + # https://github.com/fluttercommunity/flutter_blurhash/pull/58 + flutter_blurhash: + git: + url: https://github.com/Craftplacer/flutter_blurhash.git + ref: eb9565f9d5731d4729bd7605510cec0f9e172e5f + # https://github.com/simpleclub-extended/flutter_math_fork/pull/87 + flutter_math_fork: + git: + url: https://github.com/The-Redhat/flutter_math_fork.git + ref: 3442b36a436880ce1c023e25c868d6f4004c4c24 # Until https://github.com/mogol/flutter_secure_storage/issues/616 is fixed flutter_secure_storage_linux: 1.1.3 geolocator_android: From f4d3e6f92810027cb2d8c965fe374eeb2ffdc696 Mon Sep 17 00:00:00 2001 From: Krille Date: Thu, 16 Nov 2023 12:46:01 +0100 Subject: [PATCH 2/4] refactor: Migrate for Flutter 3.16.0 --- lib/pages/chat/chat_view.dart | 9 +++--- lib/pages/chat_list/chat_list_view.dart | 18 +++++++---- lib/pages/chat_list/space_view.dart | 8 ++--- pubspec.lock | 40 ++++++++++++------------- 4 files changed, 40 insertions(+), 35 deletions(-) diff --git a/lib/pages/chat/chat_view.dart b/lib/pages/chat/chat_view.dart index 798af551a..c8ef099a0 100644 --- a/lib/pages/chat/chat_view.dart +++ b/lib/pages/chat/chat_view.dart @@ -136,16 +136,15 @@ class ChatView extends StatelessWidget { final bottomSheetPadding = FluffyThemes.isColumnMode(context) ? 16.0 : 8.0; final scrollUpBannerEventId = controller.scrollUpBannerEventId; - return WillPopScope( - onWillPop: () async { + return PopScope( + canPop: controller.selectedEvents.isEmpty && !controller.showEmojiPicker, + onPopInvoked: (pop) async { + if (pop) return; if (controller.selectedEvents.isNotEmpty) { controller.clearSelectedEvents(); - return false; } else if (controller.showEmojiPicker) { controller.emojiPickerAction(); - return false; } - return true; }, child: GestureDetector( onTapDown: (_) => controller.setReadMarker(), diff --git a/lib/pages/chat_list/chat_list_view.dart b/lib/pages/chat_list/chat_list_view.dart index e8b5e958f..40c8858a0 100644 --- a/lib/pages/chat_list/chat_list_view.dart +++ b/lib/pages/chat_list/chat_list_view.dart @@ -86,16 +86,23 @@ class ChatListView extends StatelessWidget { stream: Matrix.of(context).onShareContentChanged.stream, builder: (_, __) { final selectMode = controller.selectMode; - return WillPopScope( - onWillPop: () async { + return PopScope( + canPop: controller.selectMode == SelectMode.normal && + !controller.isSearchMode && + controller.activeFilter == + (AppConfig.separateChatTypes + ? ActiveFilter.messages + : ActiveFilter.allChats), + onPopInvoked: (pop) async { + if (pop) return; final selMode = controller.selectMode; if (controller.isSearchMode) { controller.cancelSearch(); - return false; + return; } if (selMode != SelectMode.normal) { controller.cancelAction(); - return false; + return; } if (controller.activeFilter != (AppConfig.separateChatTypes @@ -103,9 +110,8 @@ class ChatListView extends StatelessWidget { : ActiveFilter.allChats)) { controller .onDestinationSelected(AppConfig.separateChatTypes ? 1 : 0); - return false; + return; } - return true; }, child: Row( children: [ diff --git a/lib/pages/chat_list/space_view.dart b/lib/pages/chat_list/space_view.dart index 2dc7604ee..d478159f3 100644 --- a/lib/pages/chat_list/space_view.dart +++ b/lib/pages/chat_list/space_view.dart @@ -234,13 +234,13 @@ class _SpaceViewState extends State { ); final spaceChildren = response.rooms; final canLoadMore = response.nextBatch != null; - return WillPopScope( - onWillPop: () async { + return PopScope( + canPop: parentSpace == null, + onPopInvoked: (pop) async { + if (pop) return; if (parentSpace != null) { widget.controller.setActiveSpace(parentSpace.id); - return false; } - return true; }, child: CustomScrollView( controller: widget.scrollController, diff --git a/pubspec.lock b/pubspec.lock index bb2b26b86..fbab11af2 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -13,10 +13,10 @@ packages: dependency: "direct main" description: name: adaptive_dialog - sha256: "139da77ba96cf7ba0a3dd9a717fb3e4f6870127849161b193833a405ea58095d" + sha256: "910debe8766eff4b378ed5164bb470debb87c53a3bdf6adee03c79f64fbf7348" url: "https://pub.dev" source: hosted - version: "1.10.0" + version: "1.10.1" analyzer: dependency: transitive description: @@ -488,10 +488,10 @@ packages: dependency: "direct main" description: name: flutter_foreground_task - sha256: "9d71e28c0f9657b7366d5c769a25b4c6efe1bb4080ee4c74764295e419036000" + sha256: e48d2d810a2d643362e64de41146ed8e95d4dd282bae6abbb32309d9f0bf5d67 url: "https://pub.dev" source: hosted - version: "6.0.0+1" + version: "6.1.2" flutter_highlighter: dependency: "direct main" description: @@ -1042,26 +1042,26 @@ packages: dependency: "direct main" description: name: just_audio - sha256: "5ed0cd723e17dfd8cd4b0253726221e67f6546841ea4553635cf895061fc335b" + sha256: b607cd1a43bac03d85c3aaee00448ff4a589ef2a77104e3d409889ff079bf823 url: "https://pub.dev" source: hosted - version: "0.9.35" + version: "0.9.36" just_audio_platform_interface: dependency: transitive description: name: just_audio_platform_interface - sha256: d8409da198bbc59426cd45d4c92fca522a2ec269b576ce29459d6d6fcaeb44df + sha256: c3dee0014248c97c91fe6299edb73dc4d6c6930a2f4f713579cd692d9e47f4a1 url: "https://pub.dev" source: hosted - version: "4.2.1" + version: "4.2.2" just_audio_web: dependency: transitive description: name: just_audio_web - sha256: ff62f733f437b25a0ff590f0e295fa5441dcb465f1edbdb33b3dea264705bc13 + sha256: "134356b0fe3d898293102b33b5fd618831ffdc72bb7a1b726140abdf22772b70" url: "https://pub.dev" source: hosted - version: "0.4.8" + version: "0.4.9" keyboard_shortcuts: dependency: "direct main" description: @@ -1163,10 +1163,10 @@ packages: dependency: "direct main" description: name: matrix - sha256: "1e4bef4923fa1e33124843aa59932739e69a5507178f18313ec1067c046156f3" + sha256: b01a8a7141a586853a4f9b2e98b3c9912ff74bbceadc16b2bf3630bf055a830a url: "https://pub.dev" source: hosted - version: "0.22.6" + version: "0.22.7" matrix_api_lite: dependency: transitive description: @@ -1379,10 +1379,10 @@ packages: dependency: transitive description: name: petitparser - sha256: cb3798bef7fc021ac45b308f4b51208a152792445cce0448c9a4ba5879dd8750 + sha256: eeb2d1428ee7f4170e2bd498827296a18d4e7fc462b71727d111c0ac7707cfa6 url: "https://pub.dev" source: hosted - version: "5.4.0" + version: "6.0.1" platform: dependency: transitive description: @@ -1728,10 +1728,10 @@ packages: dependency: transitive description: name: sqflite_common - sha256: "8ed044102f3135add97be8653662052838859f5400075ef227f8ad72ae320803" + sha256: bb4738f15b23352822f4c42a531677e5c6f522e079461fd240ead29d8d8a54a6 url: "https://pub.dev" source: hosted - version: "2.5.0+1" + version: "2.5.0+2" stack_trace: dependency: transitive description: @@ -2169,10 +2169,10 @@ packages: dependency: transitive description: name: win32 - sha256: "350a11abd2d1d97e0cc7a28a81b781c08002aa2864d9e3f192ca0ffa18b06ed3" + sha256: "7c99c0e1e2fa190b48d25c81ca5e42036d5cac81430ef249027d97b0935c553f" url: "https://pub.dev" source: hosted - version: "5.0.9" + version: "5.1.0" win32_registry: dependency: transitive description: @@ -2209,10 +2209,10 @@ packages: dependency: transitive description: name: xml - sha256: "5bc72e1e45e941d825fd7468b9b4cc3b9327942649aeb6fc5cdbf135f0a86e84" + sha256: af5e77e9b83f2f4adc5d3f0a4ece1c7f45a2467b695c2540381bac793e34e556 url: "https://pub.dev" source: hosted - version: "6.3.0" + version: "6.4.2" yaml: dependency: transitive description: From 56426eb4f0164739d47800f7e0cbc4d2c3d7e832 Mon Sep 17 00:00:00 2001 From: "lauren n. liberda" Date: Sat, 18 Nov 2023 22:08:13 +0100 Subject: [PATCH 3/4] fix: whatever happens with android native libraries since flutter 3.16 --- android/app/build.gradle | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/android/app/build.gradle b/android/app/build.gradle index 8eb605e94..9494e982a 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -72,6 +72,13 @@ android { signingConfig signingConfigs.release } } + // https://stackoverflow.com/a/77494454/8222484 + packagingOptions { + pickFirst 'lib/x86/libc++_shared.so' + pickFirst 'lib/x86_64/libc++_shared.so' + pickFirst 'lib/armeabi-v7a/libc++_shared.so' + pickFirst 'lib/arm64-v8a/libc++_shared.so' + } } flutter { From 2d29bd3fb8e84e061ab8ad6db18947e1de9bd02e Mon Sep 17 00:00:00 2001 From: "lauren n. liberda" Date: Sat, 18 Nov 2023 22:16:21 +0100 Subject: [PATCH 4/4] fix: fcm patch --- scripts/enable-android-google-services.patch | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/enable-android-google-services.patch b/scripts/enable-android-google-services.patch index 0ebe5f89c..95dfaa1ff 100644 --- a/scripts/enable-android-google-services.patch +++ b/scripts/enable-android-google-services.patch @@ -2,7 +2,7 @@ diff --git a/android/app/build.gradle b/android/app/build.gradle index 001fbd72..339b35af 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle -@@ -68,6 +68,10 @@ android { +@@ -70,6 +70,10 @@ } release { signingConfig signingConfigs.release @@ -12,7 +12,7 @@ index 001fbd72..339b35af 100644 + proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' } } - } + // https://stackoverflow.com/a/77494454/8222484 @@ -78,8 +82,11 @@ flutter { dependencies {