removeMessageEverywhere method
Removes a message from all groups and cleans up empty groups.
This method ensures data consistency by removing the message from all possible locations and cleaning up any empty groups that result from the removal.
Implementation
void removeMessageEverywhere(Message message) {
for (final group in _messageGroups.toList()) {
group.messages.removeWhere((m) => m.id == message.id);
}
_messageGroups.removeWhere((group) => group.messages.isEmpty);
_failedMessageEntries.remove(message.id);
notifyListeners();
}