From 940d7712878abb6362f150fe279a5c2f5dd8b067 Mon Sep 17 00:00:00 2001 From: Salvatore Giordano Date: Tue, 10 Mar 2020 18:16:10 +0100 Subject: [PATCH] fix channelpreview lastmessage --- example/lib/main.dart | 11 ++++++----- lib/src/channel_preview.dart | 5 ++++- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/example/lib/main.dart b/example/lib/main.dart index d4855068..fd1311bc 100644 --- a/example/lib/main.dart +++ b/example/lib/main.dart @@ -2,6 +2,7 @@ import 'package:flutter/material.dart'; import 'package:stream_chat_flutter/stream_chat_flutter.dart'; void main() async { + WidgetsFlutterBinding.ensureInitialized(); final client = Client( 's2dxdhpxd94g', logLevel: Level.INFO, @@ -43,11 +44,11 @@ class ChannelListPage extends StatelessWidget { Widget build(BuildContext context) { return Scaffold( body: ChannelListView( - filter: { - 'members': { - '\$in': [StreamChat.of(context).user.id], - } - }, +// filter: { +// 'members': { +// '\$in': [StreamChat.of(context).user.id], +// } +// }, sort: [SortOption('last_message_at')], pagination: PaginationParams( limit: 20, diff --git a/lib/src/channel_preview.dart b/lib/src/channel_preview.dart index 27b606cc..e6d7340a 100644 --- a/lib/src/channel_preview.dart +++ b/lib/src/channel_preview.dart @@ -110,7 +110,10 @@ class ChannelPreview extends StatelessWidget { initialData: channel.state.messages, builder: (context, snapshot) { final messages = snapshot.data; - final lastMessage = messages?.isNotEmpty == true ? messages.last : null; + final lastMessage = messages?.isNotEmpty == true + ? messages.lastWhere((m) => + !(m.isDeleted && m.status == MessageSendingStatus.FAILED)) + : null; if (lastMessage == null) { return SizedBox(); }