From b3a7ca2897315b6c9d25c653fb6cc8d40c9a56af Mon Sep 17 00:00:00 2001 From: Sahil Kumar Date: Thu, 4 Aug 2022 16:44:57 +0530 Subject: [PATCH] fix(llc): Fix `Channel.removeMessage` not able to remove thread message. (#1294) Signed-off-by: xsahil03x --- packages/stream_chat/CHANGELOG.md | 6 ++++++ packages/stream_chat/lib/src/client/channel.dart | 12 +++++++----- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/packages/stream_chat/CHANGELOG.md b/packages/stream_chat/CHANGELOG.md index e8a7aa12..4a064d87 100644 --- a/packages/stream_chat/CHANGELOG.md +++ b/packages/stream_chat/CHANGELOG.md @@ -1,3 +1,9 @@ +## Upcoming + +🐞 Fixed + +- Fix `Channel.removeMessage` not able to remove thread message. + ## 4.4.1 🐞 Fixed diff --git a/packages/stream_chat/lib/src/client/channel.dart b/packages/stream_chat/lib/src/client/channel.dart index 64c20d6b..d610ddd5 100644 --- a/packages/stream_chat/lib/src/client/channel.dart +++ b/packages/stream_chat/lib/src/client/channel.dart @@ -1955,11 +1955,13 @@ class ChannelClientState { // Early return in case the thread is not available if (!newThreads.containsKey(parentId)) return; - _threads = newThreads - ..update( - parentId, - (messages) => messages..removeWhere((e) => e.id == message.id), - ); + // Remove thread message shown in thread page. + newThreads.update( + parentId, + (messages) => [...messages.where((e) => e.id != message.id)], + ); + + _threads = newThreads; // Early return if the thread message is not shown in channel. if (message.showInChannel == false) return;