From c1fc81a2040773e4211a8b20d37e630f5c65916d Mon Sep 17 00:00:00 2001 From: levlam Date: Thu, 29 Nov 2018 00:57:39 +0300 Subject: [PATCH] Ensure that all chats have different notification group ids. GitOrigin-RevId: 45aa312302c7df9616f8b8036d444000d186d149 --- td/telegram/MessagesManager.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/td/telegram/MessagesManager.cpp b/td/telegram/MessagesManager.cpp index 594dcd7f..0d075cee 100644 --- a/td/telegram/MessagesManager.cpp +++ b/td/telegram/MessagesManager.cpp @@ -17415,7 +17415,11 @@ void MessagesManager::send_update_new_message(const Dialog *d, const Message *m) NotificationGroupId MessagesManager::get_dialog_message_notification_group_id(Dialog *d) { CHECK(d != nullptr); if (!d->message_notification_group_id.is_valid()) { - d->message_notification_group_id = td_->notification_manager_->get_next_notification_group_id(); + NotificationGroupId next_notification_group_id; + do { + next_notification_group_id = td_->notification_manager_->get_next_notification_group_id(); + } while (get_message_notification_group_force(next_notification_group_id).dialog_id.is_valid()); + d->message_notification_group_id = next_notification_group_id; VLOG(notifications) << "Assign " << d->message_notification_group_id << " to " << d->dialog_id; on_dialog_updated(d->dialog_id, "get_dialog_message_notification_group_id");