diff --git a/example/ios/Podfile.lock b/example/ios/Podfile.lock index b713289e..26b542f0 100644 --- a/example/ios/Podfile.lock +++ b/example/ios/Podfile.lock @@ -1,12 +1,94 @@ PODS: - file_picker (0.0.1): - Flutter + - Firebase/Core (6.20.0): + - Firebase/CoreOnly + - FirebaseAnalytics (= 6.3.1) + - Firebase/CoreOnly (6.20.0): + - FirebaseCore (= 6.6.4) + - Firebase/Messaging (6.20.0): + - Firebase/CoreOnly + - FirebaseMessaging (~> 4.3.0) + - firebase_messaging (0.0.1): + - Firebase/Core + - Firebase/Messaging + - Flutter + - FirebaseAnalytics (6.3.1): + - FirebaseCore (~> 6.6) + - FirebaseInstallations (~> 1.1) + - GoogleAppMeasurement (= 6.3.1) + - GoogleUtilities/AppDelegateSwizzler (~> 6.0) + - GoogleUtilities/MethodSwizzler (~> 6.0) + - GoogleUtilities/Network (~> 6.0) + - "GoogleUtilities/NSData+zlib (~> 6.0)" + - nanopb (= 0.3.9011) + - FirebaseAnalyticsInterop (1.5.0) + - FirebaseCore (6.6.4): + - FirebaseCoreDiagnostics (~> 1.2) + - FirebaseCoreDiagnosticsInterop (~> 1.2) + - GoogleUtilities/Environment (~> 6.5) + - GoogleUtilities/Logger (~> 6.5) + - FirebaseCoreDiagnostics (1.2.2): + - FirebaseCoreDiagnosticsInterop (~> 1.2) + - GoogleDataTransportCCTSupport (~> 2.0) + - GoogleUtilities/Environment (~> 6.5) + - GoogleUtilities/Logger (~> 6.5) + - nanopb (~> 0.3.901) + - FirebaseCoreDiagnosticsInterop (1.2.0) + - FirebaseInstallations (1.1.0): + - FirebaseCore (~> 6.6) + - GoogleUtilities/UserDefaults (~> 6.5) + - PromisesObjC (~> 1.2) + - FirebaseInstanceID (4.3.2): + - FirebaseCore (~> 6.6) + - FirebaseInstallations (~> 1.0) + - GoogleUtilities/Environment (~> 6.5) + - GoogleUtilities/UserDefaults (~> 6.5) + - FirebaseMessaging (4.3.0): + - FirebaseAnalyticsInterop (~> 1.5) + - FirebaseCore (~> 6.6) + - FirebaseInstanceID (~> 4.3) + - GoogleUtilities/AppDelegateSwizzler (~> 6.5) + - GoogleUtilities/Environment (~> 6.5) + - GoogleUtilities/Reachability (~> 6.5) + - GoogleUtilities/UserDefaults (~> 6.5) + - Protobuf (>= 3.9.2, ~> 3.9) - Flutter (1.0.0) + - flutter_apns (0.0.1): + - Flutter - flutter_plugin_android_lifecycle (0.0.1): - Flutter - FMDB (2.7.5): - FMDB/standard (= 2.7.5) - FMDB/standard (2.7.5) + - GoogleAppMeasurement (6.3.1): + - GoogleUtilities/AppDelegateSwizzler (~> 6.0) + - GoogleUtilities/MethodSwizzler (~> 6.0) + - GoogleUtilities/Network (~> 6.0) + - "GoogleUtilities/NSData+zlib (~> 6.0)" + - nanopb (= 0.3.9011) + - GoogleDataTransport (5.0.0) + - GoogleDataTransportCCTSupport (2.0.0): + - GoogleDataTransport (~> 5.0) + - nanopb (~> 0.3.901) + - GoogleUtilities/AppDelegateSwizzler (6.5.2): + - GoogleUtilities/Environment + - GoogleUtilities/Logger + - GoogleUtilities/Network + - GoogleUtilities/Environment (6.5.2) + - GoogleUtilities/Logger (6.5.2): + - GoogleUtilities/Environment + - GoogleUtilities/MethodSwizzler (6.5.2): + - GoogleUtilities/Logger + - GoogleUtilities/Network (6.5.2): + - GoogleUtilities/Logger + - "GoogleUtilities/NSData+zlib" + - GoogleUtilities/Reachability + - "GoogleUtilities/NSData+zlib (6.5.2)" + - GoogleUtilities/Reachability (6.5.2): + - GoogleUtilities/Logger + - GoogleUtilities/UserDefaults (6.5.2): + - GoogleUtilities/Logger - image_picker (0.0.1): - Flutter - keyboard_visibility (0.5.0): @@ -14,11 +96,24 @@ PODS: - Reachability - moor_ffi (0.0.1): - Flutter + - nanopb (0.3.9011): + - nanopb/decode (= 0.3.9011) + - nanopb/encode (= 0.3.9011) + - nanopb/decode (0.3.9011) + - nanopb/encode (0.3.9011) - path_provider (0.0.1): - Flutter - path_provider_macos (0.0.1): - Flutter + - PromisesObjC (1.2.8) + - Protobuf (3.11.4) - Reachability (3.2) + - shared_preferences (0.0.1): + - Flutter + - shared_preferences_macos (0.0.1): + - Flutter + - shared_preferences_web (0.0.1): + - Flutter - sqflite (0.0.1): - Flutter - FMDB (~> 2.7.2) @@ -37,13 +132,18 @@ PODS: DEPENDENCIES: - file_picker (from `.symlinks/plugins/file_picker/ios`) + - firebase_messaging (from `.symlinks/plugins/firebase_messaging/ios`) - Flutter (from `Flutter`) + - flutter_apns (from `.symlinks/plugins/flutter_apns/ios`) - flutter_plugin_android_lifecycle (from `.symlinks/plugins/flutter_plugin_android_lifecycle/ios`) - image_picker (from `.symlinks/plugins/image_picker/ios`) - keyboard_visibility (from `.symlinks/plugins/keyboard_visibility/ios`) - moor_ffi (from `.symlinks/plugins/moor_ffi/ios`) - path_provider (from `.symlinks/plugins/path_provider/ios`) - path_provider_macos (from `.symlinks/plugins/path_provider_macos/ios`) + - shared_preferences (from `.symlinks/plugins/shared_preferences/ios`) + - shared_preferences_macos (from `.symlinks/plugins/shared_preferences_macos/ios`) + - shared_preferences_web (from `.symlinks/plugins/shared_preferences_web/ios`) - sqflite (from `.symlinks/plugins/sqflite/ios`) - url_launcher (from `.symlinks/plugins/url_launcher/ios`) - url_launcher_macos (from `.symlinks/plugins/url_launcher_macos/ios`) @@ -54,14 +154,34 @@ DEPENDENCIES: SPEC REPOS: trunk: + - Firebase + - FirebaseAnalytics + - FirebaseAnalyticsInterop + - FirebaseCore + - FirebaseCoreDiagnostics + - FirebaseCoreDiagnosticsInterop + - FirebaseInstallations + - FirebaseInstanceID + - FirebaseMessaging - FMDB + - GoogleAppMeasurement + - GoogleDataTransport + - GoogleDataTransportCCTSupport + - GoogleUtilities + - nanopb + - PromisesObjC + - Protobuf - Reachability EXTERNAL SOURCES: file_picker: :path: ".symlinks/plugins/file_picker/ios" + firebase_messaging: + :path: ".symlinks/plugins/firebase_messaging/ios" Flutter: :path: Flutter + flutter_apns: + :path: ".symlinks/plugins/flutter_apns/ios" flutter_plugin_android_lifecycle: :path: ".symlinks/plugins/flutter_plugin_android_lifecycle/ios" image_picker: @@ -74,6 +194,12 @@ EXTERNAL SOURCES: :path: ".symlinks/plugins/path_provider/ios" path_provider_macos: :path: ".symlinks/plugins/path_provider_macos/ios" + shared_preferences: + :path: ".symlinks/plugins/shared_preferences/ios" + shared_preferences_macos: + :path: ".symlinks/plugins/shared_preferences_macos/ios" + shared_preferences_web: + :path: ".symlinks/plugins/shared_preferences_web/ios" sqflite: :path: ".symlinks/plugins/sqflite/ios" url_launcher: @@ -91,15 +217,36 @@ EXTERNAL SOURCES: SPEC CHECKSUMS: file_picker: 408623be2125b79a4539cf703be3d4b3abe5e245 + Firebase: fe7f74012742ab403451dd283e6909b8f1fb348a + firebase_messaging: edab61b94fb3bfb399f32f9d4dedb5196d680084 + FirebaseAnalytics: 572e467f3d977825266e8ccd52674aa3e6f47eac + FirebaseAnalyticsInterop: 3f86269c38ae41f47afeb43ebf32a001f58fcdae + FirebaseCore: ed0a24c758a57c2b88c5efa8e6a8195e868af589 + FirebaseCoreDiagnostics: e9b4cd8ba60dee0f2d13347332e4b7898cca5b61 + FirebaseCoreDiagnosticsInterop: 296e2c5f5314500a850ad0b83e9e7c10b011a850 + FirebaseInstallations: 575cd32f2aec0feeb0e44f5d0110a09e5e60b47b + FirebaseInstanceID: 7ee0d6777013bb952f377b41965bf132b6a075be + FirebaseMessaging: 4ec33842d36b3319e062e51fb8b35a74f726950d Flutter: 0e3d915762c693b495b44d77113d4970485de6ec + flutter_apns: f516b118e423fe7c0a38771180549c4d6cb67c2f flutter_plugin_android_lifecycle: 47de533a02850f070f5696a623995e93eddcdb9b FMDB: 2ce00b547f966261cd18927a3ddb07cb6f3db82a + GoogleAppMeasurement: c29d405ff76e18551b5d158eaba6753fda8c7542 + GoogleDataTransport: a857c6a002d201b524dd4bc2ed7e7355ed07e785 + GoogleDataTransportCCTSupport: 32f75fbe904c82772fcbb6b6bd4525bfb6f2a862 + GoogleUtilities: ad0f3b691c67909d03a3327cc205222ab8f42e0e image_picker: e3eacd46b94694dde7cf2705955cece853aa1a8f keyboard_visibility: 96a24de806fe6823c3ad956c01ba2ec6d056616f moor_ffi: d66c9470c18e9cb333423bbcb493c105c6c774c6 + nanopb: 18003b5e52dab79db540fe93fe9579f399bd1ccd path_provider: fb74bd0465e96b594bb3b5088ee4a4e7bb1f2a9d path_provider_macos: f760a3c5b04357c380e2fddb6f9db6f3015897e0 + PromisesObjC: c119f3cd559f50b7ae681fa59dc1acd19173b7e6 + Protobuf: 176220c526ad8bd09ab1fb40a978eac3fef665f7 Reachability: 33e18b67625424e47b6cde6d202dce689ad7af96 + shared_preferences: 430726339841afefe5142b9c1f50cb6bd7793e01 + shared_preferences_macos: f3f29b71ccbb56bf40c9dd6396c9acf15e214087 + shared_preferences_web: 141cce0c3ed1a1c5bf2a0e44f52d31eeb66e5ea9 sqflite: 4001a31ff81d210346b500c55b17f4d6c7589dd0 url_launcher: a1c0cc845906122c4784c542523d8cacbded5626 url_launcher_macos: fd7894421cd39320dce5f292fc99ea9270b2a313 diff --git a/example/lib/single_conversation.dart b/example/lib/single_conversation.dart index a7863fc0..1534d089 100644 --- a/example/lib/single_conversation.dart +++ b/example/lib/single_conversation.dart @@ -26,18 +26,23 @@ import 'package:stream_chat_flutter/stream_chat_flutter.dart'; /// If you now run the simulator you will see a single channel UI. void main() async { final client = Client( - 'b67pax5b2wdq', + 's2dxdhpxd94g', logLevel: Level.INFO, ); await client.setUser( User(id: 'falling-mountain-7'), - 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VyX2lkIjoiZmFsbGluZy1tb3VudGFpbi03In0.AKgRXHMQQMz6vJAKszXdY8zMFfsAgkoUeZHlI-Szz9E', + 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VyX2lkIjoiZmFsbGluZy1tb3VudGFpbi03In0.Xd4h2PUBo2NYPk12gjlXDNY71jlyJYTCuQ_moeNbnbA', ); - final channel = client.channel('messaging', id: 'godevs'); + final channel = client.channel('messaging', extraData: { + 'members': [ + 'falling-mountain-7', + '12a73f88-4dd6-44d3-9185-014002d64b33', + ], + }); - // ignore: unawaited_futures + await channel.create(); channel.watch(); runApp(MyApp(client, channel)); diff --git a/lib/src/channel_list_view.dart b/lib/src/channel_list_view.dart index 67fc3c5f..14b68bf4 100644 --- a/lib/src/channel_list_view.dart +++ b/lib/src/channel_list_view.dart @@ -116,7 +116,7 @@ class _ChannelListViewState extends State { child: StreamBuilder>( stream: streamChat.channelsStream, builder: (context, snapshot) { - if (false && snapshot.hasError) { + if (snapshot.hasError) { if (snapshot.error is Error) { print((snapshot.error as Error).stackTrace); } diff --git a/lib/src/message_widget.dart b/lib/src/message_widget.dart index 1e152e72..741fb27e 100644 --- a/lib/src/message_widget.dart +++ b/lib/src/message_widget.dart @@ -261,7 +261,7 @@ class _MessageWidgetState extends State row = row.reversed.toList(); } - return widget.message.replyCount > 0 + return (widget.message.replyCount ?? 0) > 0 ? GestureDetector( onTap: () { if (widget.isParent) { diff --git a/lib/src/stream_chat.dart b/lib/src/stream_chat.dart index 554afaa1..96ab0f93 100644 --- a/lib/src/stream_chat.dart +++ b/lib/src/stream_chat.dart @@ -223,11 +223,12 @@ class StreamChatState extends State with WidgetsBindingObserver { @override void didChangeAppLifecycleState(AppLifecycleState state) { - print('NEW STATE $state'); if (state == AppLifecycleState.paused) { client.disconnect(); } else if (state == AppLifecycleState.resumed) { - client.connect(); + if (client.wsConnectionStatus.value == ConnectionStatus.disconnected) { + client.connect(); + } } } diff --git a/pubspec.yaml b/pubspec.yaml index 3bd75274..62b0652b 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -17,7 +17,7 @@ dependencies: url_launcher: ^5.4.2 video_player: ^0.10.8+1 chewie: ^0.9.10 - file_picker: ^1.5.0 + file_picker: ^1.5.0+2 image_picker: ^0.6.3+4 keyboard_visibility: ^0.5.6 stream_chat: