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 4e10dae3..2dfb7cd7 100644 --- a/packages/stream_chat/lib/src/db/chat_persistence_client.dart +++ b/packages/stream_chat/lib/src/db/chat_persistence_client.dart @@ -203,6 +203,12 @@ abstract class ChatPersistenceClient { Map> threads, ) async { final messages = threads.values.expand((it) => it).toList(); + + // Removing old reactions before saving the new + final oldReactions = messages.map((it) => it.id).toList(); + await deleteReactionsByMessageId(oldReactions); + + // Adding new reactions and users data final reactions = messages.expand(_expandReactions).toList(); final users = messages.map((it) => it.user).withNullifyer.toList();