From aac83f081dc023c561b2b355feb4781210692b71 Mon Sep 17 00:00:00 2001 From: Deven Joshi Date: Mon, 24 Jan 2022 18:03:02 +0530 Subject: [PATCH 1/3] fix: thread message deletion --- packages/stream_chat/CHANGELOG.md | 4 ++++ packages/stream_chat/lib/src/client/channel.dart | 8 +++++++- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/packages/stream_chat/CHANGELOG.md b/packages/stream_chat/CHANGELOG.md index 2e22b549..577a4d53 100644 --- a/packages/stream_chat/CHANGELOG.md +++ b/packages/stream_chat/CHANGELOG.md @@ -9,6 +9,10 @@ - Added `client.enrichUrl` endpoint for enriching URLs with metadata. - Fixed `unreadCount` after removing user from a channel. +🐞 Fixed + +- [[#871]](https://github.com/GetStream/stream-chat-flutter/issues/871) Fixed thread message deletion. + ## 3.3.1 🐞 Fixed diff --git a/packages/stream_chat/lib/src/client/channel.dart b/packages/stream_chat/lib/src/client/channel.dart index 258122a7..9075f5d0 100644 --- a/packages/stream_chat/lib/src/client/channel.dart +++ b/packages/stream_chat/lib/src/client/channel.dart @@ -1730,7 +1730,13 @@ class ChannelClientState { if (replyCount == null || replyCount == 0) return; addMessage(parentMessage.copyWith(replyCount: replyCount - 1)); - updateThreadInfo(parentId, threads[parentId]!..remove(message)); + updateThreadInfo( + parentId, + threads[parentId]! + ..removeWhere( + (e) => e.id == message.id, + ), + ); } else { // Remove regular message final allMessages = [...messages]; From aaddccdeac4e0ffc4d34544f7acd359127341ec3 Mon Sep 17 00:00:00 2001 From: Sahil Kumar Date: Wed, 26 Jan 2022 15:20:07 +0530 Subject: [PATCH 2/3] fix(llc): include `message.user` while saving users in persistence. Signed-off-by: xsahil03x --- packages/stream_chat/lib/src/db/chat_persistence_client.dart | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/stream_chat/lib/src/db/chat_persistence_client.dart b/packages/stream_chat/lib/src/db/chat_persistence_client.dart index 98f6a364..82ba181a 100644 --- a/packages/stream_chat/lib/src/db/chat_persistence_client.dart +++ b/packages/stream_chat/lib/src/db/chat_persistence_client.dart @@ -253,6 +253,7 @@ abstract class ChatPersistenceClient { users.addAll([ channel.createdBy, + ...messages.map((it) => it.user), ...reads.map((it) => it.user), ...members.map((it) => it.user), ...reactions.map((it) => it.user), From 9b15dbd2993c92bcfb5a1d44258f33dce06f15f9 Mon Sep 17 00:00:00 2001 From: Sahil Kumar Date: Wed, 26 Jan 2022 15:22:43 +0530 Subject: [PATCH 3/3] chore(llc): update CHANGELOG.md Signed-off-by: xsahil03x --- packages/stream_chat/CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/packages/stream_chat/CHANGELOG.md b/packages/stream_chat/CHANGELOG.md index 2e22b549..886a3b48 100644 --- a/packages/stream_chat/CHANGELOG.md +++ b/packages/stream_chat/CHANGELOG.md @@ -1,5 +1,9 @@ ## Upcoming +🐞 Fixed + +- [[#748]](https://github.com/GetStream/stream-chat-flutter/issues/748) `Message.user` are now also included while saving users in persistence. + 🔄 Changed - `client.location` is now deprecated in favor of the new [edge server](https://getstream.io/blog/chat-edge-infrastructure) and will be removed in v4.0.0.