From a8443a98b0df6457a819773c172ec1f9377698c5 Mon Sep 17 00:00:00 2001 From: Salvatore Giordano Date: Fri, 12 Mar 2021 15:24:47 +0100 Subject: [PATCH] fix reaction new deleting quoted message --- packages/stream_chat/lib/src/api/channel.dart | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/packages/stream_chat/lib/src/api/channel.dart b/packages/stream_chat/lib/src/api/channel.dart index c63fe0f3..52b748d4 100644 --- a/packages/stream_chat/lib/src/api/channel.dart +++ b/packages/stream_chat/lib/src/api/channel.dart @@ -1463,10 +1463,16 @@ class ChannelClientState { void addMessage(Message message) { if (message.parentId == null || message.showInChannel == true) { final newMessages = List.from(_channelState.messages); - final oldIndex = newMessages.indexWhere((m) => m.id == message.id); if (oldIndex != -1) { - newMessages[oldIndex] = message; + Message m; + if (message.quotedMessageId != null && message.quotedMessage == null) { + final oldMessage = newMessages[oldIndex]; + m = message.copyWith( + quotedMessage: oldMessage.quotedMessage, + ); + } + newMessages[oldIndex] = m ?? message; } else { newMessages.add(message); }