From e6065438de1cd95996eff5d7612607055258d8b6 Mon Sep 17 00:00:00 2001 From: levlam Date: Thu, 18 Apr 2019 04:18:57 +0300 Subject: [PATCH] Send UpdateNotification for pinned message notification whenever pinned message changes. GitOrigin-RevId: 5362e072cd6fef5579db4077a0d875178dc12e76 --- td/telegram/MessagesManager.cpp | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/td/telegram/MessagesManager.cpp b/td/telegram/MessagesManager.cpp index 04d0c227d..4e1750433 100644 --- a/td/telegram/MessagesManager.cpp +++ b/td/telegram/MessagesManager.cpp @@ -22420,6 +22420,16 @@ MessagesManager::Message *MessagesManager::add_message_to_dialog(Dialog *d, uniq group_info.group_id, m->notification_id, create_new_message_notification(m->message_id)); } } + if (is_changed && m->message_id == d->pinned_message_id && + d->pinned_message_notification_message_id.is_valid() && d->mention_notification_group.group_id.is_valid()) { + auto pinned_message = get_message_force(d, d->pinned_message_notification_message_id, "after update_message"); + if (pinned_message != nullptr && pinned_message->notification_id.is_valid() && + is_message_notification_active(d, pinned_message)) { + send_closure_later(G()->notification_manager(), &NotificationManager::edit_notification, + d->mention_notification_group.group_id, pinned_message->notification_id, + create_new_message_notification(pinned_message->message_id)); + } + } update_message_count_by_index(d, -1, old_index_mask & ~new_index_mask); update_message_count_by_index(d, +1, new_index_mask & ~old_index_mask); }