From 9af3e8b6aa088e734a83a1b6ed091b61dca0b528 Mon Sep 17 00:00:00 2001 From: Efthymis Sarmpanis Date: Mon, 4 Dec 2023 13:41:38 +0200 Subject: [PATCH 01/13] chore(repo): bump version to beta --- packages/stream_chat/lib/version.dart | 2 +- packages/stream_chat/pubspec.yaml | 2 +- packages/stream_chat_flutter/pubspec.yaml | 8 ++++---- packages/stream_chat_flutter_core/pubspec.yaml | 6 +++--- packages/stream_chat_localizations/pubspec.yaml | 6 +++--- packages/stream_chat_persistence/pubspec.yaml | 6 +++--- 6 files changed, 15 insertions(+), 15 deletions(-) diff --git a/packages/stream_chat/lib/version.dart b/packages/stream_chat/lib/version.dart index 997f7dc8d6..22ffd07ab5 100644 --- a/packages/stream_chat/lib/version.dart +++ b/packages/stream_chat/lib/version.dart @@ -3,4 +3,4 @@ import 'package:stream_chat/src/client/client.dart'; /// Current package version /// Used in [StreamChatClient] to build the `x-stream-client` header // ignore: constant_identifier_names -const PACKAGE_VERSION = '7.0.0'; +const PACKAGE_VERSION = '8.0.0-beta.1'; diff --git a/packages/stream_chat/pubspec.yaml b/packages/stream_chat/pubspec.yaml index 7d62b6aebf..a3fc546b15 100644 --- a/packages/stream_chat/pubspec.yaml +++ b/packages/stream_chat/pubspec.yaml @@ -1,7 +1,7 @@ name: stream_chat homepage: https://getstream.io/ description: The official Dart client for Stream Chat, a service for building chat applications. -version: 7.0.0 +version: 8.0.0-beta.1 repository: https://github.com/GetStream/stream-chat-flutter issue_tracker: https://github.com/GetStream/stream-chat-flutter/issues diff --git a/packages/stream_chat_flutter/pubspec.yaml b/packages/stream_chat_flutter/pubspec.yaml index 91ee669711..94a108554b 100644 --- a/packages/stream_chat_flutter/pubspec.yaml +++ b/packages/stream_chat_flutter/pubspec.yaml @@ -1,13 +1,13 @@ name: stream_chat_flutter homepage: https://github.com/GetStream/stream-chat-flutter description: Stream Chat official Flutter SDK. Build your own chat experience using Dart and Flutter. -version: 7.0.0 +version: 8.0.0-beta.1 repository: https://github.com/GetStream/stream-chat-flutter issue_tracker: https://github.com/GetStream/stream-chat-flutter/issues environment: sdk: ">=3.1.0 <4.0.0" - flutter: ">=3.13.0" + flutter: ">=3.16.0" dependencies: cached_network_image: ^3.2.3 @@ -34,12 +34,12 @@ dependencies: lottie: ^2.6.0 meta: ^1.9.1 path_provider: ^2.1.0 - photo_manager: ^2.7.1 + photo_manager: ^3.0.0-dev.4 photo_view: ^0.14.0 rxdart: ^0.27.7 share_plus: ">=7.1.0 <9.0.0" shimmer: ^3.0.0 - stream_chat_flutter_core: ^7.0.0 + stream_chat_flutter_core: ^8.0.0-beta.1 synchronized: ^3.1.0 thumblr: ^0.0.4 url_launcher: ^6.1.12 diff --git a/packages/stream_chat_flutter_core/pubspec.yaml b/packages/stream_chat_flutter_core/pubspec.yaml index 1d3023d214..f5d5df1a5b 100644 --- a/packages/stream_chat_flutter_core/pubspec.yaml +++ b/packages/stream_chat_flutter_core/pubspec.yaml @@ -1,13 +1,13 @@ name: stream_chat_flutter_core homepage: https://github.com/GetStream/stream-chat-flutter description: Stream Chat official Flutter SDK Core. Build your own chat experience using Dart and Flutter. -version: 7.0.0 +version: 8.0.0-beta.1 repository: https://github.com/GetStream/stream-chat-flutter issue_tracker: https://github.com/GetStream/stream-chat-flutter/issues environment: sdk: ">=3.1.0 <4.0.0" - flutter: ">=3.13.0" + flutter: ">=3.16.0" dependencies: collection: ^1.17.2 @@ -17,7 +17,7 @@ dependencies: freezed_annotation: ^2.4.1 meta: ^1.9.1 rxdart: ^0.27.7 - stream_chat: ^7.0.0 + stream_chat: ^8.0.0-beta.1 dev_dependencies: build_runner: ^2.4.6 diff --git a/packages/stream_chat_localizations/pubspec.yaml b/packages/stream_chat_localizations/pubspec.yaml index ada1f25eed..a114ebc801 100644 --- a/packages/stream_chat_localizations/pubspec.yaml +++ b/packages/stream_chat_localizations/pubspec.yaml @@ -1,20 +1,20 @@ name: stream_chat_localizations description: The Official localizations for Stream Chat Flutter, a service for building chat applications -version: 7.0.0 +version: 8.0.0-beta.1 homepage: https://github.com/GetStream/stream-chat-flutter repository: https://github.com/GetStream/stream-chat-flutter issue_tracker: https://github.com/GetStream/stream-chat-flutter/issues environment: sdk: ">=3.1.0 <4.0.0" - flutter: ">=3.13.0" + flutter: ">=3.16.0" dependencies: flutter: sdk: flutter flutter_localizations: sdk: flutter - stream_chat_flutter: ^7.0.0 + stream_chat_flutter: ^8.0.0-beta.1 dev_dependencies: flutter_test: diff --git a/packages/stream_chat_persistence/pubspec.yaml b/packages/stream_chat_persistence/pubspec.yaml index be104674e2..f841e465a3 100644 --- a/packages/stream_chat_persistence/pubspec.yaml +++ b/packages/stream_chat_persistence/pubspec.yaml @@ -1,13 +1,13 @@ name: stream_chat_persistence homepage: https://github.com/GetStream/stream-chat-flutter description: Official Stream Chat Persistence library. Build your own chat experience using Dart and Flutter. -version: 7.0.0 +version: 8.0.0-beta.1 repository: https://github.com/GetStream/stream-chat-flutter issue_tracker: https://github.com/GetStream/stream-chat-flutter/issues environment: sdk: ">=3.1.0 <4.0.0" - flutter: ">=3.13.0" + flutter: ">=3.16.0" dependencies: drift: ^2.11.0 @@ -18,7 +18,7 @@ dependencies: path: ^1.8.3 path_provider: ^2.1.0 sqlite3_flutter_libs: ^0.5.15 - stream_chat: ^7.0.0 + stream_chat: ^8.0.0-beta.1 dev_dependencies: build_runner: ^2.4.6 From 8778819afa7e8e83eba11d15d75f6268b8aa8c98 Mon Sep 17 00:00:00 2001 From: Efthymis Sarmpanis Date: Mon, 4 Dec 2023 13:47:55 +0200 Subject: [PATCH 02/13] chore(repo): update dart and melos versions --- packages/stream_chat/CHANGELOG.md | 4 ++++ packages/stream_chat/pubspec.yaml | 2 +- packages/stream_chat_flutter/CHANGELOG.md | 5 +++++ packages/stream_chat_flutter/pubspec.yaml | 2 +- packages/stream_chat_flutter_core/CHANGELOG.md | 4 ++++ packages/stream_chat_flutter_core/pubspec.yaml | 2 +- packages/stream_chat_localizations/CHANGELOG.md | 4 ++++ packages/stream_chat_localizations/pubspec.yaml | 2 +- packages/stream_chat_persistence/CHANGELOG.md | 4 ++++ packages/stream_chat_persistence/pubspec.yaml | 2 +- pubspec.yaml | 4 ++-- 11 files changed, 28 insertions(+), 7 deletions(-) diff --git a/packages/stream_chat/CHANGELOG.md b/packages/stream_chat/CHANGELOG.md index ad5b88236b..1fb8c1a80c 100644 --- a/packages/stream_chat/CHANGELOG.md +++ b/packages/stream_chat/CHANGELOG.md @@ -1,3 +1,7 @@ +## 8.0.0-beta.1 + +- Updated minimum supported `SDK` version to Flutter 3.16/Dart 3.2 + ## 7.0.0 - 🛑️ Breaking diff --git a/packages/stream_chat/pubspec.yaml b/packages/stream_chat/pubspec.yaml index a3fc546b15..d0f259e8af 100644 --- a/packages/stream_chat/pubspec.yaml +++ b/packages/stream_chat/pubspec.yaml @@ -6,7 +6,7 @@ repository: https://github.com/GetStream/stream-chat-flutter issue_tracker: https://github.com/GetStream/stream-chat-flutter/issues environment: - sdk: '>=3.1.0 <4.0.0' + sdk: '>=3.2.0 <4.0.0' dependencies: async: ^2.11.0 diff --git a/packages/stream_chat_flutter/CHANGELOG.md b/packages/stream_chat_flutter/CHANGELOG.md index d8c9327f55..c6b5a451ea 100644 --- a/packages/stream_chat_flutter/CHANGELOG.md +++ b/packages/stream_chat_flutter/CHANGELOG.md @@ -1,3 +1,8 @@ +## 8.0.0-beta.1 + +- Updated minimum supported `SDK` version to Flutter 3.16/Dart 3.2 +- Bump `photo_manager` dependency to `^3.0.0-dev.4`. + ## 7.0.0 🛑️ Breaking diff --git a/packages/stream_chat_flutter/pubspec.yaml b/packages/stream_chat_flutter/pubspec.yaml index 94a108554b..99130c8574 100644 --- a/packages/stream_chat_flutter/pubspec.yaml +++ b/packages/stream_chat_flutter/pubspec.yaml @@ -6,7 +6,7 @@ repository: https://github.com/GetStream/stream-chat-flutter issue_tracker: https://github.com/GetStream/stream-chat-flutter/issues environment: - sdk: ">=3.1.0 <4.0.0" + sdk: ">=3.2.0 <4.0.0" flutter: ">=3.16.0" dependencies: diff --git a/packages/stream_chat_flutter_core/CHANGELOG.md b/packages/stream_chat_flutter_core/CHANGELOG.md index 4cdd1ddfb6..b676638666 100644 --- a/packages/stream_chat_flutter_core/CHANGELOG.md +++ b/packages/stream_chat_flutter_core/CHANGELOG.md @@ -1,3 +1,7 @@ +## 8.0.0-beta.1 + +- Updated minimum supported `SDK` version to Flutter 3.16/Dart 3.2 + ## 7.0.0 - 🛑 **BREAKING** Removed deprecated `StreamChannelListController.sort` parameter. diff --git a/packages/stream_chat_flutter_core/pubspec.yaml b/packages/stream_chat_flutter_core/pubspec.yaml index f5d5df1a5b..48fbcbac39 100644 --- a/packages/stream_chat_flutter_core/pubspec.yaml +++ b/packages/stream_chat_flutter_core/pubspec.yaml @@ -6,7 +6,7 @@ repository: https://github.com/GetStream/stream-chat-flutter issue_tracker: https://github.com/GetStream/stream-chat-flutter/issues environment: - sdk: ">=3.1.0 <4.0.0" + sdk: ">=3.2.0 <4.0.0" flutter: ">=3.16.0" dependencies: diff --git a/packages/stream_chat_localizations/CHANGELOG.md b/packages/stream_chat_localizations/CHANGELOG.md index 73ded4d10e..79ecc6fec6 100644 --- a/packages/stream_chat_localizations/CHANGELOG.md +++ b/packages/stream_chat_localizations/CHANGELOG.md @@ -1,3 +1,7 @@ +## 8.0.0-beta.1 + +- Updated minimum supported `SDK` version to Flutter 3.16/Dart 3.2 + ## 7.0.0 * Updated minimum supported `SDK` version to Flutter 3.13/Dart 3.1 diff --git a/packages/stream_chat_localizations/pubspec.yaml b/packages/stream_chat_localizations/pubspec.yaml index a114ebc801..5a98f6933a 100644 --- a/packages/stream_chat_localizations/pubspec.yaml +++ b/packages/stream_chat_localizations/pubspec.yaml @@ -6,7 +6,7 @@ repository: https://github.com/GetStream/stream-chat-flutter issue_tracker: https://github.com/GetStream/stream-chat-flutter/issues environment: - sdk: ">=3.1.0 <4.0.0" + sdk: ">=3.2.0 <4.0.0" flutter: ">=3.16.0" dependencies: diff --git a/packages/stream_chat_persistence/CHANGELOG.md b/packages/stream_chat_persistence/CHANGELOG.md index 17a0e1593b..4e616db25a 100644 --- a/packages/stream_chat_persistence/CHANGELOG.md +++ b/packages/stream_chat_persistence/CHANGELOG.md @@ -1,3 +1,7 @@ +## 8.0.0-beta.1 + +- Updated minimum supported `SDK` version to Flutter 3.16/Dart 3.2 + ## 7.0.0 - Updated minimum supported `SDK` version to Flutter 3.13/Dart 3.1 diff --git a/packages/stream_chat_persistence/pubspec.yaml b/packages/stream_chat_persistence/pubspec.yaml index f841e465a3..de671aedb5 100644 --- a/packages/stream_chat_persistence/pubspec.yaml +++ b/packages/stream_chat_persistence/pubspec.yaml @@ -6,7 +6,7 @@ repository: https://github.com/GetStream/stream-chat-flutter issue_tracker: https://github.com/GetStream/stream-chat-flutter/issues environment: - sdk: ">=3.1.0 <4.0.0" + sdk: ">=3.2.0 <4.0.0" flutter: ">=3.16.0" dependencies: diff --git a/pubspec.yaml b/pubspec.yaml index 743b6d2608..a02b16846b 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -1,7 +1,7 @@ name: stream_chat_flutter_workspace environment: - sdk: '>=3.1.0 <4.0.0' + sdk: '>=3.2.0 <4.0.0' dev_dependencies: - melos: ^3.1.1 + melos: ^3.3.0 From 304746a2c2bd4af17d5444df16367ba30bcbe66a Mon Sep 17 00:00:00 2001 From: Efthymis Sarmpanis Date: Mon, 4 Dec 2023 14:03:13 +0200 Subject: [PATCH 03/13] fix(ui): fix WillPopScope deprecations --- .../lib/src/dialogs/confirmation_dialog.dart | 2 +- .../test/src/gallery/gallery_footer_test.dart | 8 ++++---- .../test/src/gallery/gallery_header_test.dart | 8 ++++---- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/packages/stream_chat_flutter/lib/src/dialogs/confirmation_dialog.dart b/packages/stream_chat_flutter/lib/src/dialogs/confirmation_dialog.dart index 37a5671005..04fd31b841 100644 --- a/packages/stream_chat_flutter/lib/src/dialogs/confirmation_dialog.dart +++ b/packages/stream_chat_flutter/lib/src/dialogs/confirmation_dialog.dart @@ -1,7 +1,7 @@ import 'package:flutter/material.dart'; import 'package:stream_chat_flutter/stream_chat_flutter.dart'; -/// /// {@template confirmationDialog} +/// {@template confirmationDialog} /// A dialog that prompts the user to take an action or cancel. /// {@endtemplate} class ConfirmationDialog extends StatelessWidget { diff --git a/packages/stream_chat_flutter/test/src/gallery/gallery_footer_test.dart b/packages/stream_chat_flutter/test/src/gallery/gallery_footer_test.dart index c8b5cc7196..641b3a692f 100644 --- a/packages/stream_chat_flutter/test/src/gallery/gallery_footer_test.dart +++ b/packages/stream_chat_flutter/test/src/gallery/gallery_footer_test.dart @@ -68,8 +68,8 @@ void main() { client: client, child: StreamChannel( channel: channel, - child: WillPopScope( - onWillPop: () async => false, + child: PopScope( + onPopInvoked: (bool didPop) async => false, child: const Scaffold( body: StreamGalleryFooter( mediaAttachmentPackages: [], @@ -92,8 +92,8 @@ void main() { client: client, child: StreamChannel( channel: channel, - child: WillPopScope( - onWillPop: () async => false, + child: PopScope( + onPopInvoked: (bool didPop) async => false, child: const Scaffold( body: StreamGalleryFooter( mediaAttachmentPackages: [], diff --git a/packages/stream_chat_flutter/test/src/gallery/gallery_header_test.dart b/packages/stream_chat_flutter/test/src/gallery/gallery_header_test.dart index bc8a3a7a56..4297ef3f55 100644 --- a/packages/stream_chat_flutter/test/src/gallery/gallery_header_test.dart +++ b/packages/stream_chat_flutter/test/src/gallery/gallery_header_test.dart @@ -68,8 +68,8 @@ void main() { client: client, child: StreamChannel( channel: channel, - child: WillPopScope( - onWillPop: () async => false, + child: PopScope( + onPopInvoked: (bool didPop) async => false, child: Scaffold( appBar: StreamGalleryHeader( attachment: MockAttachment(), @@ -93,8 +93,8 @@ void main() { client: client, child: StreamChannel( channel: channel, - child: WillPopScope( - onWillPop: () async => false, + child: PopScope( + onPopInvoked: (bool didPop) async => false, child: Scaffold( appBar: StreamGalleryHeader( userName: 'User', From 35285ad6c2985785d6d26a92cbd6c5bea77af095 Mon Sep 17 00:00:00 2001 From: Efthymis Sarmpanis Date: Tue, 9 Jan 2024 11:23:28 +0200 Subject: [PATCH 04/13] chore(repo): update pipeline flutter version --- .github/workflows/stream_flutter_workflow.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/stream_flutter_workflow.yml b/.github/workflows/stream_flutter_workflow.yml index c78a5863dc..e81752bfd2 100644 --- a/.github/workflows/stream_flutter_workflow.yml +++ b/.github/workflows/stream_flutter_workflow.yml @@ -3,7 +3,7 @@ name: stream_flutter_workflow env: ACTIONS_ALLOW_UNSECURE_COMMANDS: 'true' flutter_channel: "stable" - flutter_version: "3.13.9" + flutter_version: "3.16.5" on: pull_request: From 41b7868563860ecd7c1e62510b3af8db127f19ac Mon Sep 17 00:00:00 2001 From: Efthymis Sarmpanis Date: Tue, 9 Jan 2024 11:39:57 +0200 Subject: [PATCH 05/13] chore(repo): update pipelines from master --- .github/workflows/dispatch_workflows.yml | 30 -------------------- .github/workflows/docusaurus.yml | 1 - .github/workflows/legacy_version_analyze.yml | 2 -- 3 files changed, 33 deletions(-) delete mode 100644 .github/workflows/dispatch_workflows.yml diff --git a/.github/workflows/dispatch_workflows.yml b/.github/workflows/dispatch_workflows.yml deleted file mode 100644 index afd04f992e..0000000000 --- a/.github/workflows/dispatch_workflows.yml +++ /dev/null @@ -1,30 +0,0 @@ -name: dispatch_workflows - -env: - ACTIONS_ALLOW_UNSECURE_COMMANDS: 'true' - -on: - push: - branches: - - develop - - master - -jobs: - dispatch_nightly: - if: github.ref == 'refs/heads/develop' - runs-on: ubuntu-latest - steps: - - uses: benc-uk/workflow-dispatch@v121 - with: - workflow: build_nightly - repo: GetStream/flutter-samples - token: ${{ secrets.GH_TOKEN }} - dispatch_stable: - if: github.ref == 'refs/heads/main' - runs-on: ubuntu-latest - steps: - - uses: benc-uk/workflow-dispatch@v121 - with: - repo: GetStream/flutter-samples - workflow: build - token: ${{ secrets.GH_TOKEN }} diff --git a/.github/workflows/docusaurus.yml b/.github/workflows/docusaurus.yml index 4f27a3a353..39efc42fb2 100644 --- a/.github/workflows/docusaurus.yml +++ b/.github/workflows/docusaurus.yml @@ -4,7 +4,6 @@ on: push: branches: - master - - develop paths: - docusaurus/** jobs: diff --git a/.github/workflows/legacy_version_analyze.yml b/.github/workflows/legacy_version_analyze.yml index e8b42a9c9c..a447ccc387 100644 --- a/.github/workflows/legacy_version_analyze.yml +++ b/.github/workflows/legacy_version_analyze.yml @@ -9,14 +9,12 @@ on: push: branches: - master - - develop paths: - 'packages/**' - '.github/workflows/legacy_version_analyze.yml' pull_request: branches: - master - - develop paths: - 'packages/**' - '.github/workflows/legacy_version_analyze.yml' From 5128b7552849dff520a4fb808bfc045eef8338a0 Mon Sep 17 00:00:00 2001 From: Efthymis Sarmpanis Date: Tue, 9 Jan 2024 11:42:41 +0200 Subject: [PATCH 06/13] chore(repo): activate some pipelines in beta channel --- .github/workflows/pr_title.yml | 3 ++- .github/workflows/stream_flutter_workflow.yml | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/pr_title.yml b/.github/workflows/pr_title.yml index 28b7f23885..4a09a04d50 100644 --- a/.github/workflows/pr_title.yml +++ b/.github/workflows/pr_title.yml @@ -6,7 +6,8 @@ on: - edited - synchronize branches: - - develop + - master + - beta concurrency: group: ${{ github.workflow }}-${{ github.ref }} diff --git a/.github/workflows/stream_flutter_workflow.yml b/.github/workflows/stream_flutter_workflow.yml index e81752bfd2..f9600c99ef 100644 --- a/.github/workflows/stream_flutter_workflow.yml +++ b/.github/workflows/stream_flutter_workflow.yml @@ -18,7 +18,7 @@ on: push: branches: - master - - develop + - beta concurrency: group: ${{ github.workflow }}-${{ github.ref }} From cbf930172260c09eb1a4e9830f0d84ce29dba278 Mon Sep 17 00:00:00 2001 From: Efthymis Sarmpanis Date: Tue, 9 Jan 2024 11:56:24 +0200 Subject: [PATCH 07/13] chore(repo): update dart & flutter versions in the example projects --- packages/stream_chat/example/pubspec.yaml | 4 ++-- packages/stream_chat_flutter/example/pubspec.yaml | 4 ++-- packages/stream_chat_flutter_core/example/pubspec.yaml | 4 ++-- packages/stream_chat_localizations/example/pubspec.yaml | 4 ++-- packages/stream_chat_persistence/example/pubspec.yaml | 4 ++-- 5 files changed, 10 insertions(+), 10 deletions(-) diff --git a/packages/stream_chat/example/pubspec.yaml b/packages/stream_chat/example/pubspec.yaml index 7530a44fa7..a401346ac5 100644 --- a/packages/stream_chat/example/pubspec.yaml +++ b/packages/stream_chat/example/pubspec.yaml @@ -5,8 +5,8 @@ publish_to: "none" version: 1.0.0+1 environment: - sdk: ">=3.1.0 <4.0.0" - flutter: ">=3.13.0" + sdk: ">=3.2.0 <4.0.0" + flutter: ">=3.16.0" dependencies: cupertino_icons: ^1.0.5 diff --git a/packages/stream_chat_flutter/example/pubspec.yaml b/packages/stream_chat_flutter/example/pubspec.yaml index cfe3882cf2..748d08cdad 100644 --- a/packages/stream_chat_flutter/example/pubspec.yaml +++ b/packages/stream_chat_flutter/example/pubspec.yaml @@ -4,8 +4,8 @@ publish_to: 'none' version: 1.0.0+1 environment: - sdk: ">=3.1.0 <4.0.0" - flutter: ">=3.13.0" + sdk: ">=3.2.0 <4.0.0" + flutter: ">=3.16.0" dependencies: collection: ^1.15.0 diff --git a/packages/stream_chat_flutter_core/example/pubspec.yaml b/packages/stream_chat_flutter_core/example/pubspec.yaml index 513f58bbdc..ac256f2513 100644 --- a/packages/stream_chat_flutter_core/example/pubspec.yaml +++ b/packages/stream_chat_flutter_core/example/pubspec.yaml @@ -4,8 +4,8 @@ publish_to: 'none' version: 1.0.0+1 environment: - sdk: ">=3.1.0 <4.0.0" - flutter: ">=3.13.0" + sdk: ">=3.2.0 <4.0.0" + flutter: ">=3.16.0" dependencies: cupertino_icons: ^1.0.3 diff --git a/packages/stream_chat_localizations/example/pubspec.yaml b/packages/stream_chat_localizations/example/pubspec.yaml index 6b3df4750b..90d339d810 100644 --- a/packages/stream_chat_localizations/example/pubspec.yaml +++ b/packages/stream_chat_localizations/example/pubspec.yaml @@ -5,8 +5,8 @@ publish_to: 'none' version: 1.0.0+1 environment: - sdk: ">=3.1.0 <4.0.0" - flutter: ">=3.13.0" + sdk: ">=3.2.0 <4.0.0" + flutter: ">=3.16.0" dependencies: cupertino_icons: ^1.0.3 diff --git a/packages/stream_chat_persistence/example/pubspec.yaml b/packages/stream_chat_persistence/example/pubspec.yaml index b6e4783a44..a3de390f9b 100644 --- a/packages/stream_chat_persistence/example/pubspec.yaml +++ b/packages/stream_chat_persistence/example/pubspec.yaml @@ -4,8 +4,8 @@ publish_to: 'none' version: 1.0.0+1 environment: - sdk: ">=3.1.0 <4.0.0" - flutter: ">=3.13.0" + sdk: ">=3.2.0 <4.0.0" + flutter: ">=3.16.0" dependencies: cupertino_icons: ^1.0.3 From d01211238ffcf8fd43dbc54449e5ad19c2509ef4 Mon Sep 17 00:00:00 2001 From: Efthymis Sarmpanis Date: Tue, 9 Jan 2024 12:48:37 +0200 Subject: [PATCH 08/13] chore(repo): update UI examples iOS config --- .../ios/Runner.xcodeproj/project.pbxproj | 33 ++++++++------- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- .../example/ios/Runner/Info.plist | 42 +++++++++---------- 3 files changed, 38 insertions(+), 39 deletions(-) diff --git a/packages/stream_chat_flutter/example/ios/Runner.xcodeproj/project.pbxproj b/packages/stream_chat_flutter/example/ios/Runner.xcodeproj/project.pbxproj index e5d8f7436e..5cd16c9828 100644 --- a/packages/stream_chat_flutter/example/ios/Runner.xcodeproj/project.pbxproj +++ b/packages/stream_chat_flutter/example/ios/Runner.xcodeproj/project.pbxproj @@ -138,7 +138,7 @@ 97C146EC1CF9000F007C117D /* Resources */, 9705A1C41CF9048500538489 /* Embed Frameworks */, 3B06AD1E1E4923F5004D2608 /* Thin Binary */, - 9DF0031578B883CBE79BDCC8 /* [CP] Embed Pods Frameworks */, + 591615CBB6D667E2BE2627A1 /* [CP] Embed Pods Frameworks */, ); buildRules = ( ); @@ -155,7 +155,7 @@ 97C146E61CF9000F007C117D /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 1300; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 97C146ED1CF9000F007C117D = { @@ -204,6 +204,7 @@ files = ( ); inputPaths = ( + "${TARGET_BUILD_DIR}/${INFOPLIST_PATH}", ); name = "Thin Binary"; outputPaths = ( @@ -234,37 +235,37 @@ shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; - 9740EEB61CF901F6004384FC /* Run Script */ = { + 591615CBB6D667E2BE2627A1 /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; - alwaysOutOfDate = 1; buildActionMask = 2147483647; files = ( ); - inputPaths = ( + inputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-input-files.xcfilelist", ); - name = "Run Script"; - outputPaths = ( + name = "[CP] Embed Pods Frameworks"; + outputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-output-files.xcfilelist", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build"; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n"; + showEnvVarsInLog = 0; }; - 9DF0031578B883CBE79BDCC8 /* [CP] Embed Pods Frameworks */ = { + 9740EEB61CF901F6004384FC /* Run Script */ = { isa = PBXShellScriptBuildPhase; + alwaysOutOfDate = 1; buildActionMask = 2147483647; files = ( ); - inputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-input-files.xcfilelist", + inputPaths = ( ); - name = "[CP] Embed Pods Frameworks"; - outputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-output-files.xcfilelist", + name = "Run Script"; + outputPaths = ( ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n"; - showEnvVarsInLog = 0; + shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build"; }; /* End PBXShellScriptBuildPhase section */ diff --git a/packages/stream_chat_flutter/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/packages/stream_chat_flutter/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index 3db53b6e1f..b52b2e698b 100644 --- a/packages/stream_chat_flutter/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/packages/stream_chat_flutter/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ + CADisableMinimumFrameDurationOnPhone + CFBundleDevelopmentRegion $(DEVELOPMENT_LANGUAGE) CFBundleExecutable @@ -22,6 +24,24 @@ $(FLUTTER_BUILD_NUMBER) LSRequiresIPhoneOS + NSAppTransportSecurity + + NSAllowsArbitraryLoads + + + NSCameraUsageDescription + Explain why your app uses the camera + NSMicrophoneUsageDescription + Explain why your app uses the mic + NSPhotoLibraryUsageDescription + Explain why your app uses photo library + UIApplicationSupportsIndirectInputEvents + + UIBackgroundModes + + fetch + remote-notification + UILaunchStoryboardName LaunchScreen UIMainStoryboardFile @@ -41,27 +61,5 @@ UIViewControllerBasedStatusBarAppearance - UIBackgroundModes - - fetch - remote-notification - - NSPhotoLibraryUsageDescription - Explain why your app uses photo library - NSAppTransportSecurity - - NSAllowsArbitraryLoads - - - - NSCameraUsageDescription - Explain why your app uses the camera - - NSMicrophoneUsageDescription - Explain why your app uses the mic - CADisableMinimumFrameDurationOnPhone - - UIApplicationSupportsIndirectInputEvents - From c2018b3a2c4cfe1b4fe10bc7ee6743a72b93ea7d Mon Sep 17 00:00:00 2001 From: Efthymis Sarmpanis Date: Tue, 9 Jan 2024 13:39:51 +0200 Subject: [PATCH 09/13] chore(repo): release preperation --- packages/stream_chat/CHANGELOG.md | 4 ++++ packages/stream_chat/lib/version.dart | 2 +- packages/stream_chat/pubspec.yaml | 2 +- packages/stream_chat_flutter/CHANGELOG.md | 5 +++++ packages/stream_chat_flutter/pubspec.yaml | 6 +++--- packages/stream_chat_flutter_core/CHANGELOG.md | 4 ++++ packages/stream_chat_flutter_core/pubspec.yaml | 4 ++-- packages/stream_chat_localizations/CHANGELOG.md | 4 ++++ packages/stream_chat_localizations/pubspec.yaml | 4 ++-- packages/stream_chat_persistence/CHANGELOG.md | 4 ++++ packages/stream_chat_persistence/pubspec.yaml | 4 ++-- 11 files changed, 32 insertions(+), 11 deletions(-) diff --git a/packages/stream_chat/CHANGELOG.md b/packages/stream_chat/CHANGELOG.md index 5bb3d60a52..940717490a 100644 --- a/packages/stream_chat/CHANGELOG.md +++ b/packages/stream_chat/CHANGELOG.md @@ -1,3 +1,7 @@ +## 8.0.0-beta.2 + +- Aligned version with other Stream Chat packages + ## 8.0.0-beta.1 - Updated minimum supported `SDK` version to Flutter 3.16/Dart 3.2 diff --git a/packages/stream_chat/lib/version.dart b/packages/stream_chat/lib/version.dart index 22ffd07ab5..81eb99adfd 100644 --- a/packages/stream_chat/lib/version.dart +++ b/packages/stream_chat/lib/version.dart @@ -3,4 +3,4 @@ import 'package:stream_chat/src/client/client.dart'; /// Current package version /// Used in [StreamChatClient] to build the `x-stream-client` header // ignore: constant_identifier_names -const PACKAGE_VERSION = '8.0.0-beta.1'; +const PACKAGE_VERSION = '8.0.0-beta.2'; diff --git a/packages/stream_chat/pubspec.yaml b/packages/stream_chat/pubspec.yaml index cd1b6b079f..2cd4901866 100644 --- a/packages/stream_chat/pubspec.yaml +++ b/packages/stream_chat/pubspec.yaml @@ -1,7 +1,7 @@ name: stream_chat homepage: https://getstream.io/ description: The official Dart client for Stream Chat, a service for building chat applications. -version: 8.0.0-beta.1 +version: 8.0.0-beta.2 repository: https://github.com/GetStream/stream-chat-flutter issue_tracker: https://github.com/GetStream/stream-chat-flutter/issues diff --git a/packages/stream_chat_flutter/CHANGELOG.md b/packages/stream_chat_flutter/CHANGELOG.md index c2d4dae21f..0cb06a9132 100644 --- a/packages/stream_chat_flutter/CHANGELOG.md +++ b/packages/stream_chat_flutter/CHANGELOG.md @@ -1,3 +1,8 @@ +## 8.0.0-beta.2 + +- Bump `photo_manager` dependency to `^3.0.0-dev.5`. +- Updated `stream_chat_flutter_core` dependency to [`8.0.0-beta.2`](https://pub.dev/packages/stream_chat_flutter_core/changelog). + ## 8.0.0-beta.1 - Updated minimum supported `SDK` version to Flutter 3.16/Dart 3.2 diff --git a/packages/stream_chat_flutter/pubspec.yaml b/packages/stream_chat_flutter/pubspec.yaml index 99130c8574..686ef17f23 100644 --- a/packages/stream_chat_flutter/pubspec.yaml +++ b/packages/stream_chat_flutter/pubspec.yaml @@ -1,7 +1,7 @@ name: stream_chat_flutter homepage: https://github.com/GetStream/stream-chat-flutter description: Stream Chat official Flutter SDK. Build your own chat experience using Dart and Flutter. -version: 8.0.0-beta.1 +version: 8.0.0-beta.2 repository: https://github.com/GetStream/stream-chat-flutter issue_tracker: https://github.com/GetStream/stream-chat-flutter/issues @@ -34,12 +34,12 @@ dependencies: lottie: ^2.6.0 meta: ^1.9.1 path_provider: ^2.1.0 - photo_manager: ^3.0.0-dev.4 + photo_manager: ^3.0.0-dev.5 photo_view: ^0.14.0 rxdart: ^0.27.7 share_plus: ">=7.1.0 <9.0.0" shimmer: ^3.0.0 - stream_chat_flutter_core: ^8.0.0-beta.1 + stream_chat_flutter_core: ^8.0.0-beta.2 synchronized: ^3.1.0 thumblr: ^0.0.4 url_launcher: ^6.1.12 diff --git a/packages/stream_chat_flutter_core/CHANGELOG.md b/packages/stream_chat_flutter_core/CHANGELOG.md index 496aaa420c..8d4a17ce2c 100644 --- a/packages/stream_chat_flutter_core/CHANGELOG.md +++ b/packages/stream_chat_flutter_core/CHANGELOG.md @@ -1,3 +1,7 @@ +## 8.0.0-beta.2 + +- Updated `stream_chat` dependency to [`8.0.0-beta.2`](https://pub.dev/packages/stream_chat/changelog). + ## 8.0.0-beta.1 - Updated minimum supported `SDK` version to Flutter 3.16/Dart 3.2 diff --git a/packages/stream_chat_flutter_core/pubspec.yaml b/packages/stream_chat_flutter_core/pubspec.yaml index 77834a22e3..7d2c0821cf 100644 --- a/packages/stream_chat_flutter_core/pubspec.yaml +++ b/packages/stream_chat_flutter_core/pubspec.yaml @@ -1,7 +1,7 @@ name: stream_chat_flutter_core homepage: https://github.com/GetStream/stream-chat-flutter description: Stream Chat official Flutter SDK Core. Build your own chat experience using Dart and Flutter. -version: 8.0.0-beta.1 +version: 8.0.0-beta.2 repository: https://github.com/GetStream/stream-chat-flutter issue_tracker: https://github.com/GetStream/stream-chat-flutter/issues @@ -17,7 +17,7 @@ dependencies: freezed_annotation: ^2.4.1 meta: ^1.9.1 rxdart: ^0.27.7 - stream_chat: ^8.0.0-beta.1 + stream_chat: ^8.0.0-beta.2 dev_dependencies: build_runner: ^2.4.6 diff --git a/packages/stream_chat_localizations/CHANGELOG.md b/packages/stream_chat_localizations/CHANGELOG.md index a6ecf3a532..59c616b90c 100644 --- a/packages/stream_chat_localizations/CHANGELOG.md +++ b/packages/stream_chat_localizations/CHANGELOG.md @@ -1,3 +1,7 @@ +## 8.0.0-beta.2 + +* Updated `stream_chat_flutter` dependency to [`8.0.0-beta.2`](https://pub.dev/packages/stream_chat_flutter/changelog). + ## 8.0.0-beta.1 - Updated minimum supported `SDK` version to Flutter 3.16/Dart 3.2 diff --git a/packages/stream_chat_localizations/pubspec.yaml b/packages/stream_chat_localizations/pubspec.yaml index 5a98f6933a..16b61c032f 100644 --- a/packages/stream_chat_localizations/pubspec.yaml +++ b/packages/stream_chat_localizations/pubspec.yaml @@ -1,6 +1,6 @@ name: stream_chat_localizations description: The Official localizations for Stream Chat Flutter, a service for building chat applications -version: 8.0.0-beta.1 +version: 8.0.0-beta.2 homepage: https://github.com/GetStream/stream-chat-flutter repository: https://github.com/GetStream/stream-chat-flutter issue_tracker: https://github.com/GetStream/stream-chat-flutter/issues @@ -14,7 +14,7 @@ dependencies: sdk: flutter flutter_localizations: sdk: flutter - stream_chat_flutter: ^8.0.0-beta.1 + stream_chat_flutter: ^8.0.0-beta.2 dev_dependencies: flutter_test: diff --git a/packages/stream_chat_persistence/CHANGELOG.md b/packages/stream_chat_persistence/CHANGELOG.md index 98f50be778..afee739d1d 100644 --- a/packages/stream_chat_persistence/CHANGELOG.md +++ b/packages/stream_chat_persistence/CHANGELOG.md @@ -1,3 +1,7 @@ +## 8.0.0-beta.2 + +- Updated `stream_chat` dependency to [`8.0.0-beta.2`](https://pub.dev/packages/stream_chat/changelog). + ## 8.0.0-beta.1 - Updated minimum supported `SDK` version to Flutter 3.16/Dart 3.2 diff --git a/packages/stream_chat_persistence/pubspec.yaml b/packages/stream_chat_persistence/pubspec.yaml index de671aedb5..a1b6680397 100644 --- a/packages/stream_chat_persistence/pubspec.yaml +++ b/packages/stream_chat_persistence/pubspec.yaml @@ -1,7 +1,7 @@ name: stream_chat_persistence homepage: https://github.com/GetStream/stream-chat-flutter description: Official Stream Chat Persistence library. Build your own chat experience using Dart and Flutter. -version: 8.0.0-beta.1 +version: 8.0.0-beta.2 repository: https://github.com/GetStream/stream-chat-flutter issue_tracker: https://github.com/GetStream/stream-chat-flutter/issues @@ -18,7 +18,7 @@ dependencies: path: ^1.8.3 path_provider: ^2.1.0 sqlite3_flutter_libs: ^0.5.15 - stream_chat: ^8.0.0-beta.1 + stream_chat: ^8.0.0-beta.2 dev_dependencies: build_runner: ^2.4.6 From e540fd10fc9ab41656c6e93f1eb6c87070ee489e Mon Sep 17 00:00:00 2001 From: Efthymis Sarmpanis Date: Wed, 3 Apr 2024 15:40:14 +0300 Subject: [PATCH 10/13] chore(repo): bump file_picker in /packages/stream_chat_flutter --- packages/stream_chat_flutter/pubspec.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/stream_chat_flutter/pubspec.yaml b/packages/stream_chat_flutter/pubspec.yaml index 02fee6d892..ab9fba1a4e 100644 --- a/packages/stream_chat_flutter/pubspec.yaml +++ b/packages/stream_chat_flutter/pubspec.yaml @@ -19,7 +19,7 @@ dependencies: diacritic: ^0.1.4 dio: ^5.3.2 ezanimation: ^0.6.0 - file_picker: ">=5.3.3 <7.0.0" + file_picker: ">=5.3.3 <9.0.0" file_selector: ^1.0.0 flutter: sdk: flutter From 12422aac43de3b89117dabbc41abe4c22eecbd09 Mon Sep 17 00:00:00 2001 From: Efthymis Sarmpanis Date: Thu, 11 Apr 2024 12:08:10 +0300 Subject: [PATCH 11/13] fix(ui): migrate components to material 3 and remove interception (#1897) * fix(ui): migrate components to material 3 and remove interception * chore: fix linting errors --- packages/stream_chat_flutter/CHANGELOG.md | 4 + .../lib/src/gallery/gallery_footer.dart | 2 + .../lib/src/gallery/gallery_header.dart | 4 +- .../lib/src/message_widget/bottom_row.dart | 1 + .../src/message_widget/message_widget.dart | 2 +- .../stream_photo_gallery_tile.dart | 1 + .../lib/src/stream_chat.dart | 74 ++++++++----------- .../lib/src/utils/extensions.dart | 1 + .../lib/src/utils/typedefs.dart | 2 +- .../scrollable_positioned_list_test.dart | 6 +- 10 files changed, 51 insertions(+), 46 deletions(-) diff --git a/packages/stream_chat_flutter/CHANGELOG.md b/packages/stream_chat_flutter/CHANGELOG.md index 233c8cc53f..810dd5e1e4 100644 --- a/packages/stream_chat_flutter/CHANGELOG.md +++ b/packages/stream_chat_flutter/CHANGELOG.md @@ -1,3 +1,7 @@ +## Unreleased + +- Migrate to Material 3 and remove `useMaterial3` flag interception. + ## 8.0.0-beta.2 - Bump `photo_manager` dependency to `^3.0.0-dev.5`. diff --git a/packages/stream_chat_flutter/lib/src/gallery/gallery_footer.dart b/packages/stream_chat_flutter/lib/src/gallery/gallery_footer.dart index 049284696e..98bec6ab8f 100644 --- a/packages/stream_chat_flutter/lib/src/gallery/gallery_footer.dart +++ b/packages/stream_chat_flutter/lib/src/gallery/gallery_footer.dart @@ -75,6 +75,8 @@ class _StreamGalleryFooterState extends State { context: context, removeTop: true, child: BottomAppBar( + surfaceTintColor: + widget.backgroundColor ?? galleryFooterThemeData.backgroundColor, color: widget.backgroundColor ?? galleryFooterThemeData.backgroundColor, child: Row( diff --git a/packages/stream_chat_flutter/lib/src/gallery/gallery_header.dart b/packages/stream_chat_flutter/lib/src/gallery/gallery_header.dart index 19aed6e6d1..c9b23cc1e4 100644 --- a/packages/stream_chat_flutter/lib/src/gallery/gallery_header.dart +++ b/packages/stream_chat_flutter/lib/src/gallery/gallery_header.dart @@ -7,7 +7,7 @@ import 'package:stream_chat_flutter/src/theme/themes.dart'; import 'package:stream_chat_flutter/src/utils/utils.dart'; import 'package:stream_chat_flutter_core/stream_chat_flutter_core.dart'; -/// {@macro streamGalleryHeader} +/// {@template streamGalleryHeader} /// Header/AppBar widget for media display screen /// {@endtemplate} class StreamGalleryHeader extends StatelessWidget @@ -97,6 +97,8 @@ class StreamGalleryHeader extends StatelessWidget : const SizedBox(), backgroundColor: backgroundColor ?? galleryHeaderThemeData.backgroundColor, + surfaceTintColor: + backgroundColor ?? galleryHeaderThemeData.backgroundColor, actions: [ if (!message.isEphemeral) IconButton( diff --git a/packages/stream_chat_flutter/lib/src/message_widget/bottom_row.dart b/packages/stream_chat_flutter/lib/src/message_widget/bottom_row.dart index 3624430fc4..826f90b0a2 100644 --- a/packages/stream_chat_flutter/lib/src/message_widget/bottom_row.dart +++ b/packages/stream_chat_flutter/lib/src/message_widget/bottom_row.dart @@ -263,6 +263,7 @@ class BottomRow extends StatelessWidget { // textScaleFactor is already applied to the textSpan. // // issue: https://github.com/GetStream/stream-chat-flutter/issues/1250 + // ignore: deprecated_member_use data: mediaQueryData.copyWith(textScaleFactor: 1), child: child, ), diff --git a/packages/stream_chat_flutter/lib/src/message_widget/message_widget.dart b/packages/stream_chat_flutter/lib/src/message_widget/message_widget.dart index 34eb602dde..1bd9526d6e 100644 --- a/packages/stream_chat_flutter/lib/src/message_widget/message_widget.dart +++ b/packages/stream_chat_flutter/lib/src/message_widget/message_widget.dart @@ -339,7 +339,7 @@ class StreamMessageWidget extends StatefulWidget { /// with the tap action on the reactions picker. final OnReactionsTap? onReactionsTap; - /// {@template onReactionsHover} + /// {@macro onReactionsHover} /// /// Note: Only used in desktop devices (web and desktop). final OnReactionsHover? onReactionsHover; diff --git a/packages/stream_chat_flutter/lib/src/scroll_view/photo_gallery/stream_photo_gallery_tile.dart b/packages/stream_chat_flutter/lib/src/scroll_view/photo_gallery/stream_photo_gallery_tile.dart index b93686d0b1..fcece345b1 100644 --- a/packages/stream_chat_flutter/lib/src/scroll_view/photo_gallery/stream_photo_gallery_tile.dart +++ b/packages/stream_chat_flutter/lib/src/scroll_view/photo_gallery/stream_photo_gallery_tile.dart @@ -234,6 +234,7 @@ class MediaThumbnailProvider extends ImageProvider { } @override + //ignore: non_nullable_equals_parameter bool operator ==(dynamic other) { if (other is MediaThumbnailProvider) { return media == other.media && diff --git a/packages/stream_chat_flutter/lib/src/stream_chat.dart b/packages/stream_chat_flutter/lib/src/stream_chat.dart index fc4cdad0e3..6b0d0e609d 100644 --- a/packages/stream_chat_flutter/lib/src/stream_chat.dart +++ b/packages/stream_chat_flutter/lib/src/stream_chat.dart @@ -39,7 +39,6 @@ class StreamChat extends StatefulWidget { this.onBackgroundEventReceived, this.backgroundKeepAlive = const Duration(minutes: 1), this.connectivityStream, - this.useMaterial3 = false, }); /// Client to do chat operations with @@ -68,10 +67,6 @@ class StreamChat extends StatefulWidget { @visibleForTesting final Stream? connectivityStream; - /// Whether to use material 3 or not (default is false) - /// See our [docs](https://getstream.io/chat/docs/sdk/flutter/stream_chat_flutter/stream_chat_and_theming) - final bool useMaterial3; - @override StreamChatState createState() => StreamChatState(); @@ -112,45 +107,40 @@ class StreamChatState extends State { @override Widget build(BuildContext context) { final theme = _getTheme(context, widget.streamChatThemeData); - return Theme( - data: Theme.of(context).copyWith( - useMaterial3: widget.useMaterial3, - ), - child: Portal( - child: StreamChatConfiguration( - data: streamChatConfigData, - child: StreamChatTheme( - data: theme, - child: Builder( - builder: (context) { - final materialTheme = Theme.of(context); - final streamTheme = StreamChatTheme.of(context); - return Theme( - data: materialTheme.copyWith( - primaryIconTheme: streamTheme.primaryIconTheme, - colorScheme: materialTheme.colorScheme.copyWith( - secondary: streamTheme.colorTheme.accentPrimary, - ), + return Portal( + child: StreamChatConfiguration( + data: streamChatConfigData, + child: StreamChatTheme( + data: theme, + child: Builder( + builder: (context) { + final materialTheme = Theme.of(context); + final streamTheme = StreamChatTheme.of(context); + return Theme( + data: materialTheme.copyWith( + primaryIconTheme: streamTheme.primaryIconTheme, + colorScheme: materialTheme.colorScheme.copyWith( + secondary: streamTheme.colorTheme.accentPrimary, ), - child: StreamChatCore( - client: client, - onBackgroundEventReceived: widget.onBackgroundEventReceived, - backgroundKeepAlive: widget.backgroundKeepAlive, - connectivityStream: widget.connectivityStream, - child: Builder( - builder: (context) { - StreamChatClient.additionalHeaders = { - 'X-Stream-Client': - '${StreamChatClient.defaultUserAgent}-' - 'ui-${StreamChatClient.packageVersion}', - }; - return widget.child ?? const Offstage(); - }, - ), + ), + child: StreamChatCore( + client: client, + onBackgroundEventReceived: widget.onBackgroundEventReceived, + backgroundKeepAlive: widget.backgroundKeepAlive, + connectivityStream: widget.connectivityStream, + child: Builder( + builder: (context) { + StreamChatClient.additionalHeaders = { + 'X-Stream-Client': + '${StreamChatClient.defaultUserAgent}-' + 'ui-${StreamChatClient.packageVersion}', + }; + return widget.child ?? const Offstage(); + }, ), - ); - }, - ), + ), + ); + }, ), ), ), diff --git a/packages/stream_chat_flutter/lib/src/utils/extensions.dart b/packages/stream_chat_flutter/lib/src/utils/extensions.dart index 3671e4a40f..d4406e3ee6 100644 --- a/packages/stream_chat_flutter/lib/src/utils/extensions.dart +++ b/packages/stream_chat_flutter/lib/src/utils/extensions.dart @@ -230,6 +230,7 @@ extension InputDecorationX on InputDecoration { extension BuildContextX on BuildContext { // ignore: public_member_api_docs double get textScaleFactor => + // ignore: deprecated_member_use MediaQuery.maybeOf(this)?.textScaleFactor ?? 1.0; /// Retrieves current translations according to locale diff --git a/packages/stream_chat_flutter/lib/src/utils/typedefs.dart b/packages/stream_chat_flutter/lib/src/utils/typedefs.dart index f588e04c55..46db653482 100644 --- a/packages/stream_chat_flutter/lib/src/utils/typedefs.dart +++ b/packages/stream_chat_flutter/lib/src/utils/typedefs.dart @@ -136,7 +136,7 @@ typedef AttachmentThumbnailBuilder = Widget Function( Attachment, ); -/// {@macro mentionTileBuilder} +/// {@template mentionTileBuilder} /// A widget builder for representing a custom mention tile. /// {@endtemplate} typedef MentionTileBuilder = Widget Function( diff --git a/packages/stream_chat_flutter/test/scrollable_positioned_list/scrollable_positioned_list_test.dart b/packages/stream_chat_flutter/test/scrollable_positioned_list/scrollable_positioned_list_test.dart index 665307b628..217a0ae77d 100644 --- a/packages/stream_chat_flutter/test/scrollable_positioned_list/scrollable_positioned_list_test.dart +++ b/packages/stream_chat_flutter/test/scrollable_positioned_list/scrollable_positioned_list_test.dart @@ -1309,7 +1309,11 @@ void main() { await setUpWidgetTest(tester, itemPositionsListener: itemPositionsListener); final root = WidgetsBinding - .instance.pipelineOwner.semanticsOwner!.rootSemanticsNode!; + .instance + //ignore: deprecated_member_use + .pipelineOwner + .semanticsOwner! + .rootSemanticsNode!; final semanticNodes = [root]; From 83638a836c38f199e397ebaabec6eb5cbc5c1995 Mon Sep 17 00:00:00 2001 From: Efthymis Sarmpanis Date: Thu, 2 May 2024 11:39:07 +0300 Subject: [PATCH 12/13] feat(core): migrate connectivity_plus library (#1913) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * refactor(ui): migrate to new connectivity_plus library * test(ui): fix broken tests * add changelog * Update packages/stream_chat_flutter_core/lib/src/stream_chat_core.dart Co-authored-by: Maciej Brażewicz * Update packages/stream_chat_flutter_core/pubspec.yaml Co-authored-by: Maciej Brażewicz * fix formatting issue --------- Co-authored-by: Maciej Brażewicz --- .../08-migrations/migration_guide_8_0.mdx | 158 ++++++++++++++++++ .../lib/src/stream_chat.dart | 2 +- .../test/src/avatars/group_avatar_test.dart | 2 +- .../edit_message_sheet_test.dart | 2 +- .../bottom_sheets/error_alert_sheet_test.dart | 2 +- .../test/src/gallery/gallery_footer_test.dart | 2 +- .../test/src/gallery/gallery_header_test.dart | 2 +- .../test/src/material_app_wrapper.dart | 7 +- .../message_widget/deleted_message_test.dart | 6 +- .../src/message_widget/message_text_test.dart | 2 +- .../test/src/misc/reaction_bubble_test.dart | 10 +- .../test/src/misc/system_message_test.dart | 4 +- .../stream_chat_flutter/test/src/mocks.dart | 13 ++ .../stream_chat_flutter_core/CHANGELOG.md | 4 + .../lib/src/stream_chat_core.dart | 9 +- .../stream_chat_flutter_core/pubspec.yaml | 2 +- .../test/stream_chat_core_test.dart | 22 +-- 17 files changed, 215 insertions(+), 34 deletions(-) create mode 100644 docusaurus/docs/Flutter/05-guides/08-migrations/migration_guide_8_0.mdx diff --git a/docusaurus/docs/Flutter/05-guides/08-migrations/migration_guide_8_0.mdx b/docusaurus/docs/Flutter/05-guides/08-migrations/migration_guide_8_0.mdx new file mode 100644 index 0000000000..ad2d6dcc0f --- /dev/null +++ b/docusaurus/docs/Flutter/05-guides/08-migrations/migration_guide_8_0.mdx @@ -0,0 +1,158 @@ +--- +id: migration_guide_7_0 +title: v7.0 +slug: /guides/migration_guide_7_0/ +--- + +This guide enumerates and better explains the SDK changes introduced in v7. + +If you find any bugs or have any questions, please file an [issue on our GitHub repository](https://github.com/GetStream/stream-chat-flutter/issues). We want to support you as much as we can with this migration. + +Code examples: + +- See our [Stream Chat Flutter tutorial](https://getstream.io/chat/flutter/tutorial/) for an up-to-date guide using the latest Stream Chat version. +- See the [Stream Flutter Samples repository](https://github.com/GetStream/flutter-samples) with our full fledged messaging [sample application](https://github.com/GetStream/flutter-samples/tree/main/packages/stream_chat_v1). + +Our documentation has also been updated to support v7, so all guides and examples will have updated code. + +### Dependencies + +To migrate to v7.0.0, update your `pubspec.yaml` with the correct Stream chat package you're using: + +```yaml +dependencies: + stream_chat_flutter: ^7.0.0 # full UI, core and client packages + stream_chat: ^7.0.0 # client package +``` + +--- + +## What's New? + +We improved the overall user experience of the Stream Chat Flutter SDK and added new features to make it easier to customize the SDK to your needs. + +We've also fixed several bugs and improved the overall stability of the SDK. + +Added support for `StreamMessageInput.contentInsertionConfiguration` to specify the content insertion configuration. + + ```dart + StreamMessageInput( + ..., + contentInsertionConfiguration: ContentInsertionConfiguration( + onContentInserted: (content) { + // Do something with the content. + controller.addAttachment(...); + }, + ), + ) + ``` +## Breaking changes + +The following components have been removed in v7.0.0: + +- `ChatPersistenceClient.getChannelStates.sort` has been removed in favor of `ChatPersistenceClient.getChannelStates.channelStateSort`. +```dart +/// BEFORE +chatPersistenceClient.getChannelStates( + ... + sort: [SortOption('last_message_at')], +) + +/// AFTER +chatPersistenceClient.getChannelStates( + ... + channelStateSort: [SortOption('last_message_at')], +) +``` +- `StreamChatClient.queryChannels.sort` has been removed in favor of `StreamChatClient.queryChannels.channelStateSort`. +```dart +/// BEFORE +streamChatClient.getChannelStates( + ... + sort: [SortOption('last_message_at')], +) + +/// AFTER +streamChatClient.getChannelStates( + ... + channelStateSort: [SortOption('last_message_at')], +) +``` +- `MessageWidget.customAttachmentBuilders` has been removed in favor of `MessageWidget.attachmentBuilders`. +```dart +/// BEFORE +MessageWidget( + customAttachmentBuilders: { + 'image': (context, message, attachment) => // build image attachment, + }, + ... +) +``` +```dart +/// AFTER +class CustomImageAttachmentBuilder extends StreamAttachmentWidgetBuilder { + @override + bool canHandle( + Message message, + Map> attachments, + ) { + // Custom logic to check + // if the attachment can be handled by this builder + ... + } + + @override + Widget build( + BuildContext context, + Message message, + Map> attachments, + ) { + // custom build implementation + ... + } +} + +MessageWidget( + attachmentBuilders: const [CustomImageAttachmentBuilder()], + ... +) +``` +- `RetryPolicy.retryTimeout` has been removed in favor of `RetryPolicy.delayFactor`. +- `StreamChatNetworkError.fromDioError` has been removed in favor of `StreamChatNetworkError.fromDioException`. +- `MessageSendingStatus` has been removed in favor of `MessageState`. +- `StreamChannelListController.sort` has been removed in favor of `StreamChannelListController.channelStateSort`. +- `ChannelPreview` has been removed in favor of `StreamChannelListTile`. +- `ChannelPreviewBuilder` has been removed in favor of `StreamChannelListViewIndexedWidgetBuilder`. +- `StreamUserItem` has been removed in favor of `StreamUserListTile`. +- `ReturnActionType` has been removed and no longer used. +- `StreamMessageInput.attachmentThumbnailBuilders` has been removed in favor of `StreamMessageInput.mediaAttachmentBuilder`. +- `MessageWidget.showReactionPickerIndicator` has been removed in favor of `MessageWidget.showReactionPicker`. +- `MessageWidget.bottomRowBuilder` has been removed in favor of `MessageWidget.bottomRowBuilderWithDefaultWidget`. +- `MessageWidget.deletedBottomRowBuilder` has been removed in favor of `MessageWidget.deletedBottomRowBuilderWithDefaultWidget`. +- `MessageWidget.usernameBuilder` has been removed in favor of `MessageWidget.usernameBuilderWithDefaultWidget`. +- `MessageWidget.showReactionPickerTail` has been removed in favor of `MessageWidget.showReactionPicker`. +- `MessageTheme.linkBackgroundColor` has been removed in favor of `MessageTheme.urlAttachmentBackgroundColor`. +- `showConfirmationDialog` has been removed in favor of `showConfirmationBottomSheet`. +- `showInfoDialog` has been removed in favor of `showInfoBottomSheet`. +- `wrapAttachmentWidget` has been removed in favor of `WrapAttachmentWidget`. +- `MessageListView.onMessageSwiped` parameter. Try wrapping the `MessageWidget` with a `Swipeable`, `Dismissible` or a custom widget to achieve the swipe to reply behaviour. +```dart +/// BEFORE +MessageListView( + onMessageSwiped: (Message message) => // handle swipe, + ... +) + +/// AFTER +MessageListView( + messageBuilder: (BuildContext context, Message message) => + Swipeable( + key: ValueKey(message.id), + onSwiped: (_) => // handle swipe, + child: StreamMessageWidget( + message: message, + ... + ), + ), +) +``` diff --git a/packages/stream_chat_flutter/lib/src/stream_chat.dart b/packages/stream_chat_flutter/lib/src/stream_chat.dart index 6b0d0e609d..cb35472702 100644 --- a/packages/stream_chat_flutter/lib/src/stream_chat.dart +++ b/packages/stream_chat_flutter/lib/src/stream_chat.dart @@ -65,7 +65,7 @@ class StreamChat extends StatefulWidget { /// Stream of connectivity result /// Visible for testing @visibleForTesting - final Stream? connectivityStream; + final Stream>? connectivityStream; @override StreamChatState createState() => StreamChatState(); diff --git a/packages/stream_chat_flutter/test/src/avatars/group_avatar_test.dart b/packages/stream_chat_flutter/test/src/avatars/group_avatar_test.dart index 9082f6a43a..df0045a44d 100644 --- a/packages/stream_chat_flutter/test/src/avatars/group_avatar_test.dart +++ b/packages/stream_chat_flutter/test/src/avatars/group_avatar_test.dart @@ -67,7 +67,7 @@ void main() { 'control test', (WidgetTester tester) async { await tester.pumpWidget( - MaterialApp( + MaterialAppWrapper( home: StreamChat( client: client, streamChatThemeData: StreamChatThemeData.light(), diff --git a/packages/stream_chat_flutter/test/src/bottom_sheets/edit_message_sheet_test.dart b/packages/stream_chat_flutter/test/src/bottom_sheets/edit_message_sheet_test.dart index 247bb5acd6..f613028b6f 100644 --- a/packages/stream_chat_flutter/test/src/bottom_sheets/edit_message_sheet_test.dart +++ b/packages/stream_chat_flutter/test/src/bottom_sheets/edit_message_sheet_test.dart @@ -34,7 +34,7 @@ void main() { testWidgets('appears on tap', (tester) async { await tester.pumpWidget( - MaterialApp( + MaterialAppWrapper( builder: (context, child) => StreamChat( client: MockClient(), child: child, diff --git a/packages/stream_chat_flutter/test/src/bottom_sheets/error_alert_sheet_test.dart b/packages/stream_chat_flutter/test/src/bottom_sheets/error_alert_sheet_test.dart index ffb5f19581..e9ec80ee3b 100644 --- a/packages/stream_chat_flutter/test/src/bottom_sheets/error_alert_sheet_test.dart +++ b/packages/stream_chat_flutter/test/src/bottom_sheets/error_alert_sheet_test.dart @@ -36,7 +36,7 @@ void main() { void failFunction() => throw Exception('Something went wrong'); await tester.pumpWidget( - MaterialApp( + MaterialAppWrapper( builder: (context, child) => StreamChat( client: MockClient(), child: child, diff --git a/packages/stream_chat_flutter/test/src/gallery/gallery_footer_test.dart b/packages/stream_chat_flutter/test/src/gallery/gallery_footer_test.dart index c5f8edaf1c..12d1781b02 100644 --- a/packages/stream_chat_flutter/test/src/gallery/gallery_footer_test.dart +++ b/packages/stream_chat_flutter/test/src/gallery/gallery_footer_test.dart @@ -64,7 +64,7 @@ void main() { 'it should show channel typing', (WidgetTester tester) async { await tester.pumpWidget( - MaterialApp( + MaterialAppWrapper( home: StreamChat( client: client, child: StreamChannel( diff --git a/packages/stream_chat_flutter/test/src/gallery/gallery_header_test.dart b/packages/stream_chat_flutter/test/src/gallery/gallery_header_test.dart index a0f33e66fc..f7c50e0751 100644 --- a/packages/stream_chat_flutter/test/src/gallery/gallery_header_test.dart +++ b/packages/stream_chat_flutter/test/src/gallery/gallery_header_test.dart @@ -64,7 +64,7 @@ void main() { 'it should show channel typing', (WidgetTester tester) async { await tester.pumpWidget( - MaterialApp( + MaterialAppWrapper( home: StreamChat( client: client, child: StreamChannel( diff --git a/packages/stream_chat_flutter/test/src/material_app_wrapper.dart b/packages/stream_chat_flutter/test/src/material_app_wrapper.dart index 904b9a080d..093d8c91ae 100644 --- a/packages/stream_chat_flutter/test/src/material_app_wrapper.dart +++ b/packages/stream_chat_flutter/test/src/material_app_wrapper.dart @@ -1,7 +1,10 @@ // ignore_for_file: public_member_api_docs, use_super_parameters +import 'package:connectivity_plus_platform_interface/connectivity_plus_platform_interface.dart'; import 'package:flutter/material.dart'; +import 'mocks.dart'; + class MaterialAppWrapper extends MaterialApp { MaterialAppWrapper({ Key? key, @@ -24,5 +27,7 @@ class MaterialAppWrapper extends MaterialApp { navigatorObservers: [ if (navigatorObserver != null) navigatorObserver, ], - ); + ) { + ConnectivityPlatform.instance = MockConnectivityPlatform(); + } } diff --git a/packages/stream_chat_flutter/test/src/message_widget/deleted_message_test.dart b/packages/stream_chat_flutter/test/src/message_widget/deleted_message_test.dart index 7af15894ad..9f18c56c61 100644 --- a/packages/stream_chat_flutter/test/src/message_widget/deleted_message_test.dart +++ b/packages/stream_chat_flutter/test/src/message_widget/deleted_message_test.dart @@ -75,7 +75,7 @@ void main() { StreamChat( streamChatThemeData: theme, client: client, - connectivityStream: Stream.value(ConnectivityResult.mobile), + connectivityStream: Stream.value([ConnectivityResult.mobile]), child: StreamChannel( showLoading: false, channel: channel, @@ -136,7 +136,7 @@ void main() { home: StreamChat( streamChatThemeData: theme, client: client, - connectivityStream: Stream.value(ConnectivityResult.mobile), + connectivityStream: Stream.value([ConnectivityResult.mobile]), child: StreamChannel( showLoading: false, channel: channel, @@ -194,7 +194,7 @@ void main() { home: StreamChat( streamChatThemeData: theme, client: client, - connectivityStream: Stream.value(ConnectivityResult.mobile), + connectivityStream: Stream.value([ConnectivityResult.mobile]), child: StreamChannel( showLoading: false, channel: channel, diff --git a/packages/stream_chat_flutter/test/src/message_widget/message_text_test.dart b/packages/stream_chat_flutter/test/src/message_widget/message_text_test.dart index 7a5055bdde..d33b24f708 100644 --- a/packages/stream_chat_flutter/test/src/message_widget/message_text_test.dart +++ b/packages/stream_chat_flutter/test/src/message_widget/message_text_test.dart @@ -221,7 +221,7 @@ cool.'''; home: SimpleFrame( child: StreamChat( client: client, - connectivityStream: Stream.value(ConnectivityResult.wifi), + connectivityStream: Stream.value([ConnectivityResult.wifi]), child: StreamChannel( channel: channel, child: Scaffold( diff --git a/packages/stream_chat_flutter/test/src/misc/reaction_bubble_test.dart b/packages/stream_chat_flutter/test/src/misc/reaction_bubble_test.dart index ec0eff9fa0..c0a6088775 100644 --- a/packages/stream_chat_flutter/test/src/misc/reaction_bubble_test.dart +++ b/packages/stream_chat_flutter/test/src/misc/reaction_bubble_test.dart @@ -26,7 +26,7 @@ void main() { StreamChat( client: client, streamChatThemeData: theme, - connectivityStream: Stream.value(ConnectivityResult.mobile), + connectivityStream: Stream.value([ConnectivityResult.mobile]), child: Scaffold( body: Center( child: StreamReactionBubble( @@ -69,7 +69,7 @@ void main() { StreamChat( client: client, streamChatThemeData: StreamChatThemeData.fromTheme(themeData), - connectivityStream: Stream.value(ConnectivityResult.mobile), + connectivityStream: Stream.value([ConnectivityResult.mobile]), child: ColoredBox( color: Colors.black, child: StreamReactionBubble( @@ -106,7 +106,7 @@ void main() { StreamChat( client: client, streamChatThemeData: StreamChatThemeData.fromTheme(themeData), - connectivityStream: Stream.value(ConnectivityResult.mobile), + connectivityStream: Stream.value([ConnectivityResult.mobile]), child: ColoredBox( color: Colors.black, child: StreamReactionBubble( @@ -151,7 +151,7 @@ void main() { StreamChat( client: client, streamChatThemeData: StreamChatThemeData.fromTheme(themeData), - connectivityStream: Stream.value(ConnectivityResult.mobile), + connectivityStream: Stream.value([ConnectivityResult.mobile]), child: ColoredBox( color: Colors.black, child: StreamReactionBubble( @@ -196,7 +196,7 @@ void main() { await tester.pumpWidgetBuilder( StreamChat( client: client, - connectivityStream: Stream.value(ConnectivityResult.mobile), + connectivityStream: Stream.value([ConnectivityResult.mobile]), streamChatThemeData: StreamChatThemeData.fromTheme(themeData), child: Scaffold( body: Center( diff --git a/packages/stream_chat_flutter/test/src/misc/system_message_test.dart b/packages/stream_chat_flutter/test/src/misc/system_message_test.dart index 7878ed6768..73537c657b 100644 --- a/packages/stream_chat_flutter/test/src/misc/system_message_test.dart +++ b/packages/stream_chat_flutter/test/src/misc/system_message_test.dart @@ -91,7 +91,7 @@ void main() { await tester.pumpWidgetBuilder( StreamChat( client: client, - connectivityStream: Stream.value(ConnectivityResult.mobile), + connectivityStream: Stream.value([ConnectivityResult.mobile]), child: StreamChannel( showLoading: false, channel: channel, @@ -146,7 +146,7 @@ void main() { await tester.pumpWidgetBuilder( StreamChat( client: client, - connectivityStream: Stream.value(ConnectivityResult.mobile), + connectivityStream: Stream.value([ConnectivityResult.mobile]), child: StreamChannel( showLoading: false, channel: channel, diff --git a/packages/stream_chat_flutter/test/src/mocks.dart b/packages/stream_chat_flutter/test/src/mocks.dart index df99765933..bc41ac9966 100644 --- a/packages/stream_chat_flutter/test/src/mocks.dart +++ b/packages/stream_chat_flutter/test/src/mocks.dart @@ -1,3 +1,4 @@ +import 'package:connectivity_plus_platform_interface/connectivity_plus_platform_interface.dart'; import 'package:flutter/material.dart'; import 'package:mocktail/mocktail.dart'; import 'package:stream_chat_flutter/src/video/vlc/vlc_manager_desktop.dart'; @@ -67,3 +68,15 @@ class MockStreamMemberListController extends Mock @override PagedValue value = const PagedValue.loading(); } + +class MockConnectivityPlatform extends ConnectivityPlatform { + @override + Future> checkConnectivity() { + return Future.value([ConnectivityResult.wifi]); + } + + @override + Stream> get onConnectivityChanged { + return Stream.value([ConnectivityResult.wifi]); + } +} diff --git a/packages/stream_chat_flutter_core/CHANGELOG.md b/packages/stream_chat_flutter_core/CHANGELOG.md index d76bb2bb88..df3916785c 100644 --- a/packages/stream_chat_flutter_core/CHANGELOG.md +++ b/packages/stream_chat_flutter_core/CHANGELOG.md @@ -1,3 +1,7 @@ +## Unreleased + +- 🛑 **BREAKING** Updated `connectivity_plus` library to `>= 6.0.0`. + ## 8.0.0-beta.2 - Updated `stream_chat` dependency to [`8.0.0-beta.2`](https://pub.dev/packages/stream_chat/changelog). diff --git a/packages/stream_chat_flutter_core/lib/src/stream_chat_core.dart b/packages/stream_chat_flutter_core/lib/src/stream_chat_core.dart index 1f790763d3..2c303c08c6 100644 --- a/packages/stream_chat_flutter_core/lib/src/stream_chat_core.dart +++ b/packages/stream_chat_flutter_core/lib/src/stream_chat_core.dart @@ -65,7 +65,7 @@ class StreamChatCore extends StatefulWidget { /// Stream of connectivity result /// Visible for testing @visibleForTesting - final Stream? connectivityStream; + final Stream>? connectivityStream; @override StreamChatCoreState createState() => StreamChatCoreState(); @@ -108,7 +108,7 @@ class StreamChatCoreState extends State /// The current user as a stream Stream get currentUserStream => client.state.currentUserStream; - StreamSubscription? _connectivitySubscription; + StreamSubscription>? _connectivitySubscription; var _isInForeground = true; var _isConnectionAvailable = true; @@ -121,13 +121,14 @@ class StreamChatCoreState extends State } void _subscribeToConnectivityChange([ - Stream? connectivityStream, + Stream>? connectivityStream, ]) { if (_connectivitySubscription == null) { connectivityStream ??= Connectivity().onConnectivityChanged; _connectivitySubscription = connectivityStream.distinct().listen((result) { - _isConnectionAvailable = result != ConnectivityResult.none; + _isConnectionAvailable = result.length > 1 || + (result.length == 1 && result.first != ConnectivityResult.none); if (!_isInForeground) return; if (_isConnectionAvailable) { if (client.wsConnectionStatus == ConnectionStatus.disconnected && diff --git a/packages/stream_chat_flutter_core/pubspec.yaml b/packages/stream_chat_flutter_core/pubspec.yaml index 7d2c0821cf..daffa96acf 100644 --- a/packages/stream_chat_flutter_core/pubspec.yaml +++ b/packages/stream_chat_flutter_core/pubspec.yaml @@ -11,7 +11,7 @@ environment: dependencies: collection: ^1.17.2 - connectivity_plus: ">=4.0.2 <6.0.0" + connectivity_plus: ">=6.0.1 <7.0.0" flutter: sdk: flutter freezed_annotation: ^2.4.1 diff --git a/packages/stream_chat_flutter_core/test/stream_chat_core_test.dart b/packages/stream_chat_flutter_core/test/stream_chat_core_test.dart index 7dd433be59..4944126165 100644 --- a/packages/stream_chat_flutter_core/test/stream_chat_core_test.dart +++ b/packages/stream_chat_flutter_core/test/stream_chat_core_test.dart @@ -102,7 +102,7 @@ void main() { client: mockClient, onBackgroundEventReceived: mockOnBackgroundEventReceived, backgroundKeepAlive: backgroundKeepAlive, - connectivityStream: Stream.value(ConnectivityResult.mobile), + connectivityStream: Stream.value([ConnectivityResult.mobile]), child: const Offstage(key: childKey), ); @@ -197,7 +197,7 @@ void main() { final streamChatCore = StreamChatCore( key: streamChatCoreKey, client: mockClient, - connectivityStream: Stream.value(ConnectivityResult.mobile), + connectivityStream: Stream.value([ConnectivityResult.mobile]), child: const Offstage(key: childKey), ); @@ -261,7 +261,7 @@ void main() { final streamChatCore = StreamChatCore( key: streamChatCoreKey, client: mockClient, - connectivityStream: Stream.value(ConnectivityResult.none), + connectivityStream: Stream.value([ConnectivityResult.none]), child: const Offstage(key: childKey), ); @@ -346,7 +346,7 @@ void main() { final streamChatCore = StreamChatCore( key: streamChatCoreKey, client: mockClient, - connectivityStream: Stream.value(ConnectivityResult.mobile), + connectivityStream: Stream.value([ConnectivityResult.mobile]), child: const Offstage(key: childKey), ); @@ -402,7 +402,7 @@ void main() { final streamChatCore = StreamChatCore( key: streamChatCoreKey, client: mockClient, - connectivityStream: Stream.value(ConnectivityResult.none), + connectivityStream: Stream.value([ConnectivityResult.none]), child: const Offstage(key: childKey), ); @@ -478,7 +478,7 @@ void main() { const streamChatCoreKey = Key('streamChatCore'); const childKey = Key('child'); final _connectivityController = - BehaviorSubject.seeded(ConnectivityResult.none); + BehaviorSubject.seeded([ConnectivityResult.none]); final event = Event(); when(mockClient.on).thenAnswer((_) => Stream.value(event)); @@ -504,7 +504,7 @@ void main() { expect(find.byKey(streamChatCoreKey), findsOneWidget); expect(find.byKey(childKey), findsOneWidget); - _connectivityController.add(ConnectivityResult.mobile); + _connectivityController.add([ConnectivityResult.mobile]); await Future.delayed(const Duration(seconds: 1)); @@ -523,7 +523,7 @@ void main() { const streamChatCoreKey = Key('streamChatCore'); const childKey = Key('child'); final _connectivityController = - BehaviorSubject.seeded(ConnectivityResult.mobile); + BehaviorSubject.seeded([ConnectivityResult.mobile]); final streamChatCore = StreamChatCore( key: streamChatCoreKey, client: mockClient, @@ -548,7 +548,7 @@ void main() { when(() => mockClient.wsConnectionStatus) .thenReturn(ConnectionStatus.connected); - _connectivityController.add(ConnectivityResult.none); + _connectivityController.add([ConnectivityResult.none]); await Future.delayed(const Duration(seconds: 1)); @@ -567,7 +567,7 @@ void main() { const streamChatCoreKey = Key('streamChatCore'); const childKey = Key('child'); final _connectivityController = - BehaviorSubject.seeded(ConnectivityResult.none); + BehaviorSubject.seeded([ConnectivityResult.none]); final event = Event(); when(mockClient.on).thenAnswer((_) => Stream.value(event)); @@ -603,7 +603,7 @@ void main() { await Future.delayed(const Duration(seconds: 1)); - _connectivityController.add(ConnectivityResult.mobile); + _connectivityController.add([ConnectivityResult.mobile]); await Future.delayed(const Duration(seconds: 1)); From eae88cd4b48fa5fb32913d2d67472e86f62812b2 Mon Sep 17 00:00:00 2001 From: Efthymis Sarmpanis Date: Wed, 8 May 2024 11:00:06 +0300 Subject: [PATCH 13/13] chore(repo): Release 8.0.0-beta.3 (#1914) --- README.md | 19 ------------------- packages/stream_chat/CHANGELOG.md | 4 ++++ packages/stream_chat/example/pubspec.yaml | 2 +- packages/stream_chat/lib/version.dart | 2 +- packages/stream_chat/pubspec.yaml | 2 +- packages/stream_chat_flutter/CHANGELOG.md | 9 ++++++++- .../stream_chat_flutter/example/pubspec.yaml | 6 +++--- packages/stream_chat_flutter/pubspec.yaml | 7 ++++--- .../stream_chat_flutter_core/CHANGELOG.md | 3 ++- .../example/pubspec.yaml | 2 +- .../stream_chat_flutter_core/pubspec.yaml | 4 ++-- .../stream_chat_localizations/CHANGELOG.md | 4 ++++ .../example/pubspec.yaml | 4 ++-- .../stream_chat_localizations/pubspec.yaml | 4 ++-- packages/stream_chat_persistence/CHANGELOG.md | 4 ++++ .../example/pubspec.yaml | 4 ++-- packages/stream_chat_persistence/pubspec.yaml | 4 ++-- 17 files changed, 43 insertions(+), 41 deletions(-) diff --git a/README.md b/README.md index 496cba7779..5e304263fa 100644 --- a/README.md +++ b/README.md @@ -18,25 +18,6 @@ Stream allows developers to rapidly deploy scalable feeds and chat messaging wit **V4 Migration Guide** -> [!WARNING] -> Flutter `> = v3.16.x` uses material 3 by default which breaks the UI of some of the components. -> If you want to use these versions, you need to set the `useMaterial3` parameter to `false` -> in the `ThemeData`. -> -> eg. -> -> ```dart -> MaterialApp( -> theme: ThemeData( -> useMaterial3: false, -> ), -> ... -> ); -> ``` -> -> `StreamChat` widget overrides the `useMaterial3` parameter to `false` by default -> so if you are using `StreamChat` widget, you **don't** need to set it manually. - For upgrading from V6 to V7, please refer to the [V4 Migration Guide](https://getstream.io/chat/docs/sdk/flutter/guides/migration_guide_7_0/) ## Sample apps and demos diff --git a/packages/stream_chat/CHANGELOG.md b/packages/stream_chat/CHANGELOG.md index dc5be47fa9..3e8e9b2a8b 100644 --- a/packages/stream_chat/CHANGELOG.md +++ b/packages/stream_chat/CHANGELOG.md @@ -1,3 +1,7 @@ +## 8.0.0-beta.3 + +- Aligned version with other Stream Chat packages + ## 8.0.0-beta.2 - Aligned version with other Stream Chat packages diff --git a/packages/stream_chat/example/pubspec.yaml b/packages/stream_chat/example/pubspec.yaml index 37ed73535f..4e0b356950 100644 --- a/packages/stream_chat/example/pubspec.yaml +++ b/packages/stream_chat/example/pubspec.yaml @@ -12,7 +12,7 @@ dependencies: cupertino_icons: ^1.0.5 flutter: sdk: flutter - stream_chat: ^7.2.0-hotfix.1 + stream_chat: ^8.0.0-beta.3 flutter: uses-material-design: true diff --git a/packages/stream_chat/lib/version.dart b/packages/stream_chat/lib/version.dart index 81eb99adfd..ee9d784d84 100644 --- a/packages/stream_chat/lib/version.dart +++ b/packages/stream_chat/lib/version.dart @@ -3,4 +3,4 @@ import 'package:stream_chat/src/client/client.dart'; /// Current package version /// Used in [StreamChatClient] to build the `x-stream-client` header // ignore: constant_identifier_names -const PACKAGE_VERSION = '8.0.0-beta.2'; +const PACKAGE_VERSION = '8.0.0-beta.3'; diff --git a/packages/stream_chat/pubspec.yaml b/packages/stream_chat/pubspec.yaml index 2cd4901866..0efd9978db 100644 --- a/packages/stream_chat/pubspec.yaml +++ b/packages/stream_chat/pubspec.yaml @@ -1,7 +1,7 @@ name: stream_chat homepage: https://getstream.io/ description: The official Dart client for Stream Chat, a service for building chat applications. -version: 8.0.0-beta.2 +version: 8.0.0-beta.3 repository: https://github.com/GetStream/stream-chat-flutter issue_tracker: https://github.com/GetStream/stream-chat-flutter/issues diff --git a/packages/stream_chat_flutter/CHANGELOG.md b/packages/stream_chat_flutter/CHANGELOG.md index 810dd5e1e4..2b297916c0 100644 --- a/packages/stream_chat_flutter/CHANGELOG.md +++ b/packages/stream_chat_flutter/CHANGELOG.md @@ -1,6 +1,13 @@ -## Unreleased +## 8.0.0-beta.3 +🐞 Fixed - Migrate to Material 3 and remove `useMaterial3` flag interception. + +🔄 Changed +- Updated `stream_chat_flutter_core` dependency to [`8.0.0-beta.3`](https://pub.dev/packages/stream_chat_flutter_core/changelog). + +🛑️ Breaking +- Updated `connectivity_plus` library to `>= 6.0.0`. ## 8.0.0-beta.2 diff --git a/packages/stream_chat_flutter/example/pubspec.yaml b/packages/stream_chat_flutter/example/pubspec.yaml index 7bacb2e396..ec7ba5d957 100644 --- a/packages/stream_chat_flutter/example/pubspec.yaml +++ b/packages/stream_chat_flutter/example/pubspec.yaml @@ -13,9 +13,9 @@ dependencies: flutter: sdk: flutter responsive_builder: ^0.7.0 - stream_chat_flutter: ^7.2.0-hotfix.1 - stream_chat_localizations: ^7.2.0-hotfix.1 - stream_chat_persistence: ^7.2.0-hotfix.1 + stream_chat_flutter: ^8.0.0-beta.3 + stream_chat_localizations: ^8.0.0-beta.3 + stream_chat_persistence: ^8.0.0-beta.3 flutter: uses-material-design: true diff --git a/packages/stream_chat_flutter/pubspec.yaml b/packages/stream_chat_flutter/pubspec.yaml index ab9fba1a4e..2ff694e006 100644 --- a/packages/stream_chat_flutter/pubspec.yaml +++ b/packages/stream_chat_flutter/pubspec.yaml @@ -1,7 +1,7 @@ name: stream_chat_flutter homepage: https://github.com/GetStream/stream-chat-flutter description: Stream Chat official Flutter SDK. Build your own chat experience using Dart and Flutter. -version: 8.0.0-beta.2 +version: 8.0.0-beta.3 repository: https://github.com/GetStream/stream-chat-flutter issue_tracker: https://github.com/GetStream/stream-chat-flutter/issues @@ -39,7 +39,7 @@ dependencies: rxdart: ^0.27.7 share_plus: ">=7.1.0 <9.0.0" shimmer: ^3.0.0 - stream_chat_flutter_core: ^8.0.0-beta.2 + stream_chat_flutter_core: ^8.0.0-beta.3 synchronized: ^3.1.0 thumblr: ^0.0.4 url_launcher: ^6.1.12 @@ -75,4 +75,5 @@ dev_dependencies: sdk: flutter golden_toolkit: ^0.15.0 mocktail: ^1.0.0 - path: ^1.8.3 \ No newline at end of file + path: ^1.8.3 + connectivity_plus_platform_interface: ^2.0.0 \ No newline at end of file diff --git a/packages/stream_chat_flutter_core/CHANGELOG.md b/packages/stream_chat_flutter_core/CHANGELOG.md index df3916785c..2e5e8dd715 100644 --- a/packages/stream_chat_flutter_core/CHANGELOG.md +++ b/packages/stream_chat_flutter_core/CHANGELOG.md @@ -1,6 +1,7 @@ -## Unreleased +## 8.0.0-beta.3 - 🛑 **BREAKING** Updated `connectivity_plus` library to `>= 6.0.0`. +- Updated `stream_chat` dependency to [`8.0.0-beta.3`](https://pub.dev/packages/stream_chat/changelog). ## 8.0.0-beta.2 diff --git a/packages/stream_chat_flutter_core/example/pubspec.yaml b/packages/stream_chat_flutter_core/example/pubspec.yaml index 08ca6dbf99..a55dde6084 100644 --- a/packages/stream_chat_flutter_core/example/pubspec.yaml +++ b/packages/stream_chat_flutter_core/example/pubspec.yaml @@ -11,7 +11,7 @@ dependencies: cupertino_icons: ^1.0.3 flutter: sdk: flutter - stream_chat_flutter_core: ^7.2.0-hotfix.1 + stream_chat_flutter_core: ^8.0.0-beta.3 flutter: uses-material-design: true diff --git a/packages/stream_chat_flutter_core/pubspec.yaml b/packages/stream_chat_flutter_core/pubspec.yaml index daffa96acf..fbb260b9db 100644 --- a/packages/stream_chat_flutter_core/pubspec.yaml +++ b/packages/stream_chat_flutter_core/pubspec.yaml @@ -1,7 +1,7 @@ name: stream_chat_flutter_core homepage: https://github.com/GetStream/stream-chat-flutter description: Stream Chat official Flutter SDK Core. Build your own chat experience using Dart and Flutter. -version: 8.0.0-beta.2 +version: 8.0.0-beta.3 repository: https://github.com/GetStream/stream-chat-flutter issue_tracker: https://github.com/GetStream/stream-chat-flutter/issues @@ -17,7 +17,7 @@ dependencies: freezed_annotation: ^2.4.1 meta: ^1.9.1 rxdart: ^0.27.7 - stream_chat: ^8.0.0-beta.2 + stream_chat: ^8.0.0-beta.3 dev_dependencies: build_runner: ^2.4.6 diff --git a/packages/stream_chat_localizations/CHANGELOG.md b/packages/stream_chat_localizations/CHANGELOG.md index 816b951292..346e5d1fee 100644 --- a/packages/stream_chat_localizations/CHANGELOG.md +++ b/packages/stream_chat_localizations/CHANGELOG.md @@ -1,3 +1,7 @@ +## 8.0.0-beta.3 + +* Updated `stream_chat_flutter` dependency to [`8.0.0-beta.3`](https://pub.dev/packages/stream_chat_flutter/changelog). + ## 8.0.0-beta.2 * Updated `stream_chat_flutter` dependency to [`8.0.0-beta.2`](https://pub.dev/packages/stream_chat_flutter/changelog). diff --git a/packages/stream_chat_localizations/example/pubspec.yaml b/packages/stream_chat_localizations/example/pubspec.yaml index 020255f6a2..31067ee082 100644 --- a/packages/stream_chat_localizations/example/pubspec.yaml +++ b/packages/stream_chat_localizations/example/pubspec.yaml @@ -12,8 +12,8 @@ dependencies: cupertino_icons: ^1.0.3 flutter: sdk: flutter - stream_chat_flutter: ^7.2.0-hotfix.1 - stream_chat_localizations: ^7.2.0-hotfix.1 + stream_chat_flutter: ^8.0.0-beta.3 + stream_chat_localizations: ^8.0.0-beta.3 flutter: uses-material-design: true \ No newline at end of file diff --git a/packages/stream_chat_localizations/pubspec.yaml b/packages/stream_chat_localizations/pubspec.yaml index 16b61c032f..96d5effafe 100644 --- a/packages/stream_chat_localizations/pubspec.yaml +++ b/packages/stream_chat_localizations/pubspec.yaml @@ -1,6 +1,6 @@ name: stream_chat_localizations description: The Official localizations for Stream Chat Flutter, a service for building chat applications -version: 8.0.0-beta.2 +version: 8.0.0-beta.3 homepage: https://github.com/GetStream/stream-chat-flutter repository: https://github.com/GetStream/stream-chat-flutter issue_tracker: https://github.com/GetStream/stream-chat-flutter/issues @@ -14,7 +14,7 @@ dependencies: sdk: flutter flutter_localizations: sdk: flutter - stream_chat_flutter: ^8.0.0-beta.2 + stream_chat_flutter: ^8.0.0-beta.3 dev_dependencies: flutter_test: diff --git a/packages/stream_chat_persistence/CHANGELOG.md b/packages/stream_chat_persistence/CHANGELOG.md index b0f30f9dfa..858adbcc74 100644 --- a/packages/stream_chat_persistence/CHANGELOG.md +++ b/packages/stream_chat_persistence/CHANGELOG.md @@ -1,3 +1,7 @@ +## 8.0.0-beta.3 + +- Updated `stream_chat` dependency to [`8.0.0-beta.3`](https://pub.dev/packages/stream_chat/changelog). + ## 8.0.0-beta.2 - Updated `stream_chat` dependency to [`8.0.0-beta.2`](https://pub.dev/packages/stream_chat/changelog). diff --git a/packages/stream_chat_persistence/example/pubspec.yaml b/packages/stream_chat_persistence/example/pubspec.yaml index ae545f7ba1..f000b69993 100644 --- a/packages/stream_chat_persistence/example/pubspec.yaml +++ b/packages/stream_chat_persistence/example/pubspec.yaml @@ -11,8 +11,8 @@ dependencies: cupertino_icons: ^1.0.3 flutter: sdk: flutter - stream_chat: ^7.2.0-hotfix.1 - stream_chat_persistence: ^7.2.0-hotfix.1 + stream_chat: ^8.0.0-beta.3 + stream_chat_persistence: ^8.0.0-beta.3 flutter: uses-material-design: true \ No newline at end of file diff --git a/packages/stream_chat_persistence/pubspec.yaml b/packages/stream_chat_persistence/pubspec.yaml index a1b6680397..d06f7ebbaf 100644 --- a/packages/stream_chat_persistence/pubspec.yaml +++ b/packages/stream_chat_persistence/pubspec.yaml @@ -1,7 +1,7 @@ name: stream_chat_persistence homepage: https://github.com/GetStream/stream-chat-flutter description: Official Stream Chat Persistence library. Build your own chat experience using Dart and Flutter. -version: 8.0.0-beta.2 +version: 8.0.0-beta.3 repository: https://github.com/GetStream/stream-chat-flutter issue_tracker: https://github.com/GetStream/stream-chat-flutter/issues @@ -18,7 +18,7 @@ dependencies: path: ^1.8.3 path_provider: ^2.1.0 sqlite3_flutter_libs: ^0.5.15 - stream_chat: ^8.0.0-beta.2 + stream_chat: ^8.0.0-beta.3 dev_dependencies: build_runner: ^2.4.6