updateThreadInfo method
Update threads with updated information about messages.
Implementation
void updateThreadInfo(String parentId, List<Message> messages) {
final newThreads = Map<String, List<Message>>.from(threads);
if (newThreads.containsKey(parentId)) {
newThreads[parentId] = [
...messages,
...newThreads[parentId]!.where(
(newMessage) => !messages.any((m) => m.id == newMessage.id),
),
].sorted(_sortByCreatedAt);
} else {
newThreads[parentId] = messages;
}
_threads = newThreads;
}