diff --git a/CHANGELOG.md b/CHANGELOG.md index af482426..e30a47f3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,7 @@ +## 0.2.20+4 + +- Fix channelPreview when the message list is empty + ## 0.2.20+3 - Fix reaction picker score indicator diff --git a/example/ios/Flutter/.last_build_id b/example/ios/Flutter/.last_build_id index e72273c3..1e10204b 100644 --- a/example/ios/Flutter/.last_build_id +++ b/example/ios/Flutter/.last_build_id @@ -1 +1 @@ -13a41b8138c4868054e44b5158f3bdd6 \ No newline at end of file +c1153e968f5d6bcc19c41ac2592825f6 \ No newline at end of file diff --git a/example/lib/customize_channel_preview.dart b/example/lib/customize_channel_preview.dart index 3809f780..503987ae 100644 --- a/example/lib/customize_channel_preview.dart +++ b/example/lib/customize_channel_preview.dart @@ -62,7 +62,7 @@ class ChannelListPage extends StatelessWidget { } }, channelPreviewBuilder: _channelPreviewBuilder, - sort: [SortOption('last_message_at')], + // sort: [SortOption('last_message_at')], pagination: PaginationParams( limit: 20, ), @@ -73,8 +73,10 @@ class ChannelListPage extends StatelessWidget { } Widget _channelPreviewBuilder(BuildContext context, Channel channel) { - final lastMessage = channel.state.messages.reversed - .firstWhere((message) => !message.isDeleted); + final lastMessage = channel.state.messages.reversed.firstWhere( + (message) => !message.isDeleted, + orElse: () => null, + ); final subtitle = (lastMessage == null ? "nothing yet" : lastMessage.text); final opacity = channel.state.unreadCount > .0 ? 1.0 : 0.5; diff --git a/example/lib/main.dart b/example/lib/main.dart index 9eee4db0..f048f584 100644 --- a/example/lib/main.dart +++ b/example/lib/main.dart @@ -127,7 +127,7 @@ class ChannelListPage extends StatelessWidget { '\$in': [StreamChat.of(context).user.id], } }, - sort: [SortOption('last_message_at')], + // sort: [SortOption('last_message_at')], pagination: PaginationParams( limit: 20, ), diff --git a/lib/src/channel_preview.dart b/lib/src/channel_preview.dart index 58557180..61603055 100644 --- a/lib/src/channel_preview.dart +++ b/lib/src/channel_preview.dart @@ -128,7 +128,10 @@ class ChannelPreview extends StatelessWidget { stream: channel.state.messagesStream, initialData: channel.state.messages, builder: (context, snapshot) { - final lastMessage = snapshot.data?.lastWhere((m) => m.shadowed != true); + final lastMessage = snapshot.data?.lastWhere( + (m) => m.shadowed != true, + orElse: () => null, + ); if (lastMessage == null) { return SizedBox(); } diff --git a/pubspec.yaml b/pubspec.yaml index 1b14a71c..09380ccc 100644 --- a/pubspec.yaml +++ b/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: 0.2.20+3 +version: 0.2.20+4 repository: https://github.com/GetStream/stream-chat-flutter issue_tracker: https://github.com/GetStream/stream-chat-flutter/issues