diff --git a/.github/actions/pana/action.yml b/.github/actions/pana/action.yml index 1731910d8b..c121b3a594 100644 --- a/.github/actions/pana/action.yml +++ b/.github/actions/pana/action.yml @@ -46,7 +46,7 @@ runs: working-directory: ${{ inputs.working_directory }} shell: bash run: | - PANA=$(pana . --no-warning); PANA_SCORE=$(echo $PANA | sed -n "s/.*Points: \([0-9]*\)\/\([0-9]*\)./\1\/\2/p") + PANA=$(pana . --no-warning --project-root "${{ github.workspace }}"); PANA_SCORE=$(echo $PANA | sed -n "s/.*Points: \([0-9]*\)\/\([0-9]*\)./\1\/\2/p") echo "Score: $PANA_SCORE" IFS='/'; read -a SCORE_ARR <<< "$PANA_SCORE"; SCORE=SCORE_ARR[0]; if (( $SCORE < ${{inputs.min_score}} )); then echo "The minimum score of ${{inputs.min_score}} was not met!"; exit 1; fi \ No newline at end of file diff --git a/melos.yaml b/melos.yaml index 2a6ddeeb9c..4ee88dd553 100644 --- a/melos.yaml +++ b/melos.yaml @@ -72,7 +72,7 @@ command: photo_manager: ^3.2.0 photo_view: ^0.15.0 provider: ^6.0.5 - rate_limiter: ^1.0.0 + rate_limiter: ^1.1.1 record: ">=5.2.0 <7.0.0" responsive_builder: ^0.7.0 rxdart: ^0.28.0 diff --git a/packages/stream_chat/CHANGELOG.md b/packages/stream_chat/CHANGELOG.md index d79a8dd8ba..35fe2c6931 100644 --- a/packages/stream_chat/CHANGELOG.md +++ b/packages/stream_chat/CHANGELOG.md @@ -1,3 +1,13 @@ +## Upcoming + +🔄 Changed + +- Raised the minimum `rate_limiter` version to `^1.1.1`. + +🐞 Fixed + +- Fixed `StreamChatClient.sync` letting a failure from its final `updateLastSyncAt` write escape to the caller; it is now handled by the method's own error handling, like every other sync failure. + ## 9.27.0 ✅ Added diff --git a/packages/stream_chat/lib/src/client/client.dart b/packages/stream_chat/lib/src/client/client.dart index 7dea04a9a3..a251b15ed7 100644 --- a/packages/stream_chat/lib/src/client/client.dart +++ b/packages/stream_chat/lib/src/client/client.dart @@ -635,7 +635,7 @@ class StreamChatClient { } final updatedSyncAt = events.lastOrNull?.createdAt ?? DateTime.now(); - return chatPersistenceClient?.updateLastSyncAt(updatedSyncAt); + return await chatPersistenceClient?.updateLastSyncAt(updatedSyncAt); } catch (error, stk) { // If we got a 400 error, it means that either the sync time is too // old or the channel list is too long or too many events need to be @@ -647,8 +647,19 @@ class StreamChatClient { 'Resetting the persistence client to enable a fresh start.', ); - await chatPersistenceClient?.flush(); - return chatPersistenceClient?.updateLastSyncAt(DateTime.now()); + try { + await chatPersistenceClient?.flush(); + return await chatPersistenceClient?.updateLastSyncAt( + DateTime.now(), + ); + } catch (resetError, resetStk) { + logger.warning( + 'Error resetting the persistence client', + resetError, + resetStk, + ); + return; + } } logger.warning('Error syncing events', error, stk); diff --git a/packages/stream_chat/pubspec.yaml b/packages/stream_chat/pubspec.yaml index 65540a834b..ef82ed3dfc 100644 --- a/packages/stream_chat/pubspec.yaml +++ b/packages/stream_chat/pubspec.yaml @@ -33,7 +33,7 @@ dependencies: logging: ^1.2.0 meta: ^1.9.1 mime: ^2.0.0 - rate_limiter: ^1.0.0 + rate_limiter: ^1.1.1 rxdart: ^0.28.0 synchronized: ^3.1.0+1 uuid: ^4.4.0 diff --git a/packages/stream_chat_flutter/CHANGELOG.md b/packages/stream_chat_flutter/CHANGELOG.md index 92f15c5b1c..abdbff2fd7 100644 --- a/packages/stream_chat_flutter/CHANGELOG.md +++ b/packages/stream_chat_flutter/CHANGELOG.md @@ -1,3 +1,9 @@ +## Upcoming + +🔄 Changed + +- Raised the minimum `rate_limiter` version to `^1.1.1`. + ## 9.27.0 ✅ Added diff --git a/packages/stream_chat_flutter/pubspec.yaml b/packages/stream_chat_flutter/pubspec.yaml index 5652df2c90..66f4ada6a6 100644 --- a/packages/stream_chat_flutter/pubspec.yaml +++ b/packages/stream_chat_flutter/pubspec.yaml @@ -50,7 +50,7 @@ dependencies: path_provider: ^2.1.3 photo_manager: ^3.2.0 photo_view: ^0.15.0 - rate_limiter: ^1.0.0 + rate_limiter: ^1.1.1 record: ">=5.2.0 <7.0.0" rxdart: ^0.28.0 share_plus: ">=11.0.0 <13.0.0" diff --git a/packages/stream_chat_flutter/test/src/attachment/goldens/ci/stream_voice_recording_attachment_idle_dark.png b/packages/stream_chat_flutter/test/src/attachment/goldens/ci/stream_voice_recording_attachment_idle_dark.png index 712247f89f..be26db2270 100644 Binary files a/packages/stream_chat_flutter/test/src/attachment/goldens/ci/stream_voice_recording_attachment_idle_dark.png and b/packages/stream_chat_flutter/test/src/attachment/goldens/ci/stream_voice_recording_attachment_idle_dark.png differ diff --git a/packages/stream_chat_flutter/test/src/attachment/goldens/ci/stream_voice_recording_attachment_idle_light.png b/packages/stream_chat_flutter/test/src/attachment/goldens/ci/stream_voice_recording_attachment_idle_light.png index 003e0e0e0b..9517b65320 100644 Binary files a/packages/stream_chat_flutter/test/src/attachment/goldens/ci/stream_voice_recording_attachment_idle_light.png and b/packages/stream_chat_flutter/test/src/attachment/goldens/ci/stream_voice_recording_attachment_idle_light.png differ diff --git a/packages/stream_chat_flutter/test/src/attachment/goldens/ci/stream_voice_recording_attachment_playing_dark.png b/packages/stream_chat_flutter/test/src/attachment/goldens/ci/stream_voice_recording_attachment_playing_dark.png index 36f39bf30c..2119af61e8 100644 Binary files a/packages/stream_chat_flutter/test/src/attachment/goldens/ci/stream_voice_recording_attachment_playing_dark.png and b/packages/stream_chat_flutter/test/src/attachment/goldens/ci/stream_voice_recording_attachment_playing_dark.png differ diff --git a/packages/stream_chat_flutter/test/src/attachment/goldens/ci/stream_voice_recording_attachment_playing_light.png b/packages/stream_chat_flutter/test/src/attachment/goldens/ci/stream_voice_recording_attachment_playing_light.png index 1a16cf97ae..cee1290537 100644 Binary files a/packages/stream_chat_flutter/test/src/attachment/goldens/ci/stream_voice_recording_attachment_playing_light.png and b/packages/stream_chat_flutter/test/src/attachment/goldens/ci/stream_voice_recording_attachment_playing_light.png differ diff --git a/packages/stream_chat_flutter/test/src/attachment/goldens/ci/stream_voice_recording_attachment_playlist_dark.png b/packages/stream_chat_flutter/test/src/attachment/goldens/ci/stream_voice_recording_attachment_playlist_dark.png index 0aa8fcba9f..93b321e719 100644 Binary files a/packages/stream_chat_flutter/test/src/attachment/goldens/ci/stream_voice_recording_attachment_playlist_dark.png and b/packages/stream_chat_flutter/test/src/attachment/goldens/ci/stream_voice_recording_attachment_playlist_dark.png differ diff --git a/packages/stream_chat_flutter/test/src/attachment/goldens/ci/stream_voice_recording_attachment_playlist_light.png b/packages/stream_chat_flutter/test/src/attachment/goldens/ci/stream_voice_recording_attachment_playlist_light.png index 914c30bfc6..5846e4f385 100644 Binary files a/packages/stream_chat_flutter/test/src/attachment/goldens/ci/stream_voice_recording_attachment_playlist_light.png and b/packages/stream_chat_flutter/test/src/attachment/goldens/ci/stream_voice_recording_attachment_playlist_light.png differ diff --git a/packages/stream_chat_flutter/test/src/avatars/goldens/ci/gradient_avatar_issue_2369.png b/packages/stream_chat_flutter/test/src/avatars/goldens/ci/gradient_avatar_issue_2369.png index 991068fc5e..832cb4a6ed 100644 Binary files a/packages/stream_chat_flutter/test/src/avatars/goldens/ci/gradient_avatar_issue_2369.png and b/packages/stream_chat_flutter/test/src/avatars/goldens/ci/gradient_avatar_issue_2369.png differ diff --git a/packages/stream_chat_flutter/test/src/message_input/audio_recorder/goldens/ci/stream_audio_recorder_button_recording_stopped_dark.png b/packages/stream_chat_flutter/test/src/message_input/audio_recorder/goldens/ci/stream_audio_recorder_button_recording_stopped_dark.png index 3c210d5842..bca5fe4aa2 100644 Binary files a/packages/stream_chat_flutter/test/src/message_input/audio_recorder/goldens/ci/stream_audio_recorder_button_recording_stopped_dark.png and b/packages/stream_chat_flutter/test/src/message_input/audio_recorder/goldens/ci/stream_audio_recorder_button_recording_stopped_dark.png differ diff --git a/packages/stream_chat_flutter/test/src/message_input/audio_recorder/goldens/ci/stream_audio_recorder_button_recording_stopped_light.png b/packages/stream_chat_flutter/test/src/message_input/audio_recorder/goldens/ci/stream_audio_recorder_button_recording_stopped_light.png index 60b9d39d33..718674f75c 100644 Binary files a/packages/stream_chat_flutter/test/src/message_input/audio_recorder/goldens/ci/stream_audio_recorder_button_recording_stopped_light.png and b/packages/stream_chat_flutter/test/src/message_input/audio_recorder/goldens/ci/stream_audio_recorder_button_recording_stopped_light.png differ diff --git a/packages/stream_chat_flutter/test/src/message_input/message_input_url_enrichment_test.dart b/packages/stream_chat_flutter/test/src/message_input/message_input_url_enrichment_test.dart index b02b24ac10..3d8cd2a34d 100644 --- a/packages/stream_chat_flutter/test/src/message_input/message_input_url_enrichment_test.dart +++ b/packages/stream_chat_flutter/test/src/message_input/message_input_url_enrichment_test.dart @@ -51,27 +51,24 @@ void main() { }); Future enrichUrlFrom(WidgetTester tester, String text) async { - // Enrichment runs behind a real-clock debounce, so drive the flow with - // real timers via runAsync. - await tester.runAsync(() async { - await tester.pumpWidget( - MaterialApp( - home: StreamChat( - client: client, - connectivityStream: Stream.value([ConnectivityResult.mobile]), - child: StreamChannel( - channel: channel, - child: const Scaffold(body: StreamMessageInput()), - ), + await tester.pumpWidget( + MaterialApp( + home: StreamChat( + client: client, + connectivityStream: Stream.value([ConnectivityResult.mobile]), + child: StreamChannel( + channel: channel, + child: const Scaffold(body: StreamMessageInput()), ), ), - ); - await tester.pumpAndSettle(); + ), + ); + await tester.pumpAndSettle(); - await tester.enterText(find.byType(TextField), text); - await Future.delayed(const Duration(milliseconds: 500)); - await tester.pumpAndSettle(); - }); + await tester.enterText(find.byType(TextField), text); + // Enrichment runs behind a 350ms debounce; advance past it. + await tester.pump(const Duration(milliseconds: 500)); + await tester.pumpAndSettle(); return verify(() => client.enrichUrl(captureAny())).captured.single; } diff --git a/packages/stream_chat_flutter/test/src/misc/goldens/ci/reaction_bubble_2.png b/packages/stream_chat_flutter/test/src/misc/goldens/ci/reaction_bubble_2.png index b1f49b1d72..f620fd5685 100644 Binary files a/packages/stream_chat_flutter/test/src/misc/goldens/ci/reaction_bubble_2.png and b/packages/stream_chat_flutter/test/src/misc/goldens/ci/reaction_bubble_2.png differ diff --git a/packages/stream_chat_flutter/test/src/misc/goldens/ci/reaction_bubble_3_dark.png b/packages/stream_chat_flutter/test/src/misc/goldens/ci/reaction_bubble_3_dark.png index 65153fe80e..ba597d5b69 100644 Binary files a/packages/stream_chat_flutter/test/src/misc/goldens/ci/reaction_bubble_3_dark.png and b/packages/stream_chat_flutter/test/src/misc/goldens/ci/reaction_bubble_3_dark.png differ diff --git a/packages/stream_chat_flutter/test/src/misc/goldens/ci/reaction_bubble_3_light.png b/packages/stream_chat_flutter/test/src/misc/goldens/ci/reaction_bubble_3_light.png index 88f8d95992..2e1b3dffcf 100644 Binary files a/packages/stream_chat_flutter/test/src/misc/goldens/ci/reaction_bubble_3_light.png and b/packages/stream_chat_flutter/test/src/misc/goldens/ci/reaction_bubble_3_light.png differ diff --git a/packages/stream_chat_flutter/test/src/misc/goldens/ci/reaction_bubble_like_dark.png b/packages/stream_chat_flutter/test/src/misc/goldens/ci/reaction_bubble_like_dark.png index 0f9f07c50d..9c7773f17b 100644 Binary files a/packages/stream_chat_flutter/test/src/misc/goldens/ci/reaction_bubble_like_dark.png and b/packages/stream_chat_flutter/test/src/misc/goldens/ci/reaction_bubble_like_dark.png differ diff --git a/packages/stream_chat_flutter/test/src/misc/goldens/ci/reaction_bubble_like_light.png b/packages/stream_chat_flutter/test/src/misc/goldens/ci/reaction_bubble_like_light.png index d6e266f0f5..7b6080b170 100644 Binary files a/packages/stream_chat_flutter/test/src/misc/goldens/ci/reaction_bubble_like_light.png and b/packages/stream_chat_flutter/test/src/misc/goldens/ci/reaction_bubble_like_light.png differ diff --git a/packages/stream_chat_flutter/test/src/misc/goldens/ci/stream_audio_waveform_slider_custom_dark.png b/packages/stream_chat_flutter/test/src/misc/goldens/ci/stream_audio_waveform_slider_custom_dark.png index 9a9ed47e53..7d5be278d2 100644 Binary files a/packages/stream_chat_flutter/test/src/misc/goldens/ci/stream_audio_waveform_slider_custom_dark.png and b/packages/stream_chat_flutter/test/src/misc/goldens/ci/stream_audio_waveform_slider_custom_dark.png differ diff --git a/packages/stream_chat_flutter/test/src/misc/goldens/ci/stream_audio_waveform_slider_custom_light.png b/packages/stream_chat_flutter/test/src/misc/goldens/ci/stream_audio_waveform_slider_custom_light.png index b020bab8e8..e47a02705c 100644 Binary files a/packages/stream_chat_flutter/test/src/misc/goldens/ci/stream_audio_waveform_slider_custom_light.png and b/packages/stream_chat_flutter/test/src/misc/goldens/ci/stream_audio_waveform_slider_custom_light.png differ diff --git a/packages/stream_chat_flutter/test/src/misc/goldens/ci/stream_audio_waveform_slider_dark.png b/packages/stream_chat_flutter/test/src/misc/goldens/ci/stream_audio_waveform_slider_dark.png index fdba737c01..a02d01df7b 100644 Binary files a/packages/stream_chat_flutter/test/src/misc/goldens/ci/stream_audio_waveform_slider_dark.png and b/packages/stream_chat_flutter/test/src/misc/goldens/ci/stream_audio_waveform_slider_dark.png differ diff --git a/packages/stream_chat_flutter/test/src/misc/goldens/ci/stream_audio_waveform_slider_empty_dark.png b/packages/stream_chat_flutter/test/src/misc/goldens/ci/stream_audio_waveform_slider_empty_dark.png index 99218b81b9..7c329e1453 100644 Binary files a/packages/stream_chat_flutter/test/src/misc/goldens/ci/stream_audio_waveform_slider_empty_dark.png and b/packages/stream_chat_flutter/test/src/misc/goldens/ci/stream_audio_waveform_slider_empty_dark.png differ diff --git a/packages/stream_chat_flutter/test/src/misc/goldens/ci/stream_audio_waveform_slider_empty_light.png b/packages/stream_chat_flutter/test/src/misc/goldens/ci/stream_audio_waveform_slider_empty_light.png index 1d53a9ccc0..55b3899241 100644 Binary files a/packages/stream_chat_flutter/test/src/misc/goldens/ci/stream_audio_waveform_slider_empty_light.png and b/packages/stream_chat_flutter/test/src/misc/goldens/ci/stream_audio_waveform_slider_empty_light.png differ diff --git a/packages/stream_chat_flutter/test/src/misc/goldens/ci/stream_audio_waveform_slider_inverted_dark.png b/packages/stream_chat_flutter/test/src/misc/goldens/ci/stream_audio_waveform_slider_inverted_dark.png index d510dc3be3..d01fe919ba 100644 Binary files a/packages/stream_chat_flutter/test/src/misc/goldens/ci/stream_audio_waveform_slider_inverted_dark.png and b/packages/stream_chat_flutter/test/src/misc/goldens/ci/stream_audio_waveform_slider_inverted_dark.png differ diff --git a/packages/stream_chat_flutter/test/src/misc/goldens/ci/stream_audio_waveform_slider_inverted_light.png b/packages/stream_chat_flutter/test/src/misc/goldens/ci/stream_audio_waveform_slider_inverted_light.png index 5460296dc2..1187d3dfc4 100644 Binary files a/packages/stream_chat_flutter/test/src/misc/goldens/ci/stream_audio_waveform_slider_inverted_light.png and b/packages/stream_chat_flutter/test/src/misc/goldens/ci/stream_audio_waveform_slider_inverted_light.png differ diff --git a/packages/stream_chat_flutter/test/src/misc/goldens/ci/stream_audio_waveform_slider_less_data_dark.png b/packages/stream_chat_flutter/test/src/misc/goldens/ci/stream_audio_waveform_slider_less_data_dark.png index 7b2e0efa4f..8171395c29 100644 Binary files a/packages/stream_chat_flutter/test/src/misc/goldens/ci/stream_audio_waveform_slider_less_data_dark.png and b/packages/stream_chat_flutter/test/src/misc/goldens/ci/stream_audio_waveform_slider_less_data_dark.png differ diff --git a/packages/stream_chat_flutter/test/src/misc/goldens/ci/stream_audio_waveform_slider_less_data_light.png b/packages/stream_chat_flutter/test/src/misc/goldens/ci/stream_audio_waveform_slider_less_data_light.png index 14fdd9e066..c3a44837ca 100644 Binary files a/packages/stream_chat_flutter/test/src/misc/goldens/ci/stream_audio_waveform_slider_less_data_light.png and b/packages/stream_chat_flutter/test/src/misc/goldens/ci/stream_audio_waveform_slider_less_data_light.png differ diff --git a/packages/stream_chat_flutter/test/src/misc/goldens/ci/stream_audio_waveform_slider_light.png b/packages/stream_chat_flutter/test/src/misc/goldens/ci/stream_audio_waveform_slider_light.png index 012d85177f..23f91d80aa 100644 Binary files a/packages/stream_chat_flutter/test/src/misc/goldens/ci/stream_audio_waveform_slider_light.png and b/packages/stream_chat_flutter/test/src/misc/goldens/ci/stream_audio_waveform_slider_light.png differ diff --git a/packages/stream_chat_flutter/test/src/misc/goldens/ci/stream_audio_waveform_slider_progress_dark.png b/packages/stream_chat_flutter/test/src/misc/goldens/ci/stream_audio_waveform_slider_progress_dark.png index f82c6be99b..f7b9533e4e 100644 Binary files a/packages/stream_chat_flutter/test/src/misc/goldens/ci/stream_audio_waveform_slider_progress_dark.png and b/packages/stream_chat_flutter/test/src/misc/goldens/ci/stream_audio_waveform_slider_progress_dark.png differ diff --git a/packages/stream_chat_flutter/test/src/misc/goldens/ci/stream_audio_waveform_slider_progress_light.png b/packages/stream_chat_flutter/test/src/misc/goldens/ci/stream_audio_waveform_slider_progress_light.png index a10e4e7e1d..5d09bea70e 100644 Binary files a/packages/stream_chat_flutter/test/src/misc/goldens/ci/stream_audio_waveform_slider_progress_light.png and b/packages/stream_chat_flutter/test/src/misc/goldens/ci/stream_audio_waveform_slider_progress_light.png differ diff --git a/packages/stream_chat_flutter_core/example/analysis_options.yaml b/packages/stream_chat_flutter_core/example/analysis_options.yaml deleted file mode 100644 index d56da71f91..0000000000 --- a/packages/stream_chat_flutter_core/example/analysis_options.yaml +++ /dev/null @@ -1,28 +0,0 @@ -# This file configures the analyzer, which statically analyzes Dart code to -# check for errors, warnings, and lints. -# -# The issues identified by the analyzer are surfaced in the UI of Dart-enabled -# IDEs (https://dart.dev/tools#ides-and-editors). The analyzer can also be -# invoked from the command line by running `flutter analyze`. - -# The following line activates a set of recommended lints for Flutter apps, -# packages, and plugins designed to encourage good coding practices. - -linter: - # The lint rules applied to this project can be customized in the - # section below to disable rules from the `package:flutter_lints/flutter.yaml` - # included above or to enable additional rules. A list of all available lints - # and their documentation is published at - # https://dart-lang.github.io/linter/lints/index.html. - # - # Instead of disabling a lint rule for the entire project in the - # section below, it can also be suppressed for a single line of code - # or a specific dart file by using the `// ignore: name_of_lint` and - # `// ignore_for_file: name_of_lint` syntax on the line or in the file - # producing the lint. - rules: - # avoid_print: false # Uncomment to disable the `avoid_print` rule - # prefer_single_quotes: true # Uncomment to enable the `prefer_single_quotes` rule - -# Additional information about this file can be found at -# https://dart.dev/guides/language/analysis-options diff --git a/packages/stream_chat_flutter_core/example/lib/main.dart b/packages/stream_chat_flutter_core/example/lib/main.dart index 0a523f81ac..7fc140ac1b 100644 --- a/packages/stream_chat_flutter_core/example/lib/main.dart +++ b/packages/stream_chat_flutter_core/example/lib/main.dart @@ -38,9 +38,9 @@ class StreamExample extends StatelessWidget { /// If you'd prefer using pre-made UI widgets for your app, please see our /// other package, `stream_chat_flutter`. const StreamExample({ - Key? key, + super.key, required this.client, - }) : super(key: key); + }); /// Instance of Stream Client. /// Stream's [StreamChatClient] can be used to connect to our servers and @@ -51,7 +51,7 @@ class StreamExample extends StatelessWidget { @override Widget build(BuildContext context) => MaterialApp( title: 'Stream Chat Core Example', - home: HomeScreen(), + home: const HomeScreen(), builder: (context, child) => StreamChatCore( client: client, child: child!, @@ -67,7 +67,7 @@ class StreamExample extends StatelessWidget { class HomeScreen extends StatefulWidget { /// Builds a basic layout displaying a list of [Channel]s the user is a /// part of. - const HomeScreen({Key? key}) : super(key: key); + const HomeScreen({super.key}); @override State createState() => _HomeScreenState(); @@ -134,7 +134,7 @@ class _HomeScreenState extends State { child: Text(error.message), ); } - return CircularProgressIndicator(); + return const CircularProgressIndicator(); } final _item = channels[index]; @@ -198,7 +198,7 @@ class _HomeScreenState extends State { /// callbacks for building UIs based on different api results. class MessageScreen extends StatefulWidget { /// Build a MessageScreen - const MessageScreen({Key? key}) : super(key: key); + const MessageScreen({super.key}); @override _MessageScreenState createState() => _MessageScreenState(); diff --git a/sample_app/analysis_options.yaml b/sample_app/analysis_options.yaml index 84b4cef988..10140eeeae 100644 --- a/sample_app/analysis_options.yaml +++ b/sample_app/analysis_options.yaml @@ -1,5 +1,15 @@ include: ../analysis_options.yaml +analyzer: + exclude: + - build/** + - android/** + - ios/** + - web/** + - windows/** + - macos/** + - linux/** + linter: rules: cascade_invocations: false diff --git a/sample_app/android/gradle/wrapper/gradle-wrapper.properties b/sample_app/android/gradle/wrapper/gradle-wrapper.properties index 128f26fbbd..828b334284 100644 --- a/sample_app/android/gradle/wrapper/gradle-wrapper.properties +++ b/sample_app/android/gradle/wrapper/gradle-wrapper.properties @@ -3,4 +3,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.13-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.14.3-bin.zip diff --git a/sample_app/android/settings.gradle b/sample_app/android/settings.gradle index fa3d21db39..1217943547 100644 --- a/sample_app/android/settings.gradle +++ b/sample_app/android/settings.gradle @@ -23,7 +23,7 @@ plugins { id "com.google.gms.google-services" version "4.4.3" apply false id "com.google.firebase.crashlytics" version "2.8.1" apply false // END: FlutterFire Configuration - id "org.jetbrains.kotlin.android" version "2.1.20" apply false + id "org.jetbrains.kotlin.android" version "2.2.20" apply false } include ":app" \ No newline at end of file