From c407b244a086e71773e0b9f8f64d4fb0536bc447 Mon Sep 17 00:00:00 2001 From: levlam Date: Tue, 25 Feb 2020 05:14:43 +0300 Subject: [PATCH] Prevent extensive pinned message loading from the database. GitOrigin-RevId: 4365b7bf0c95a89f616731a78017a2f4a15bd1d9 --- td/telegram/MessagesManager.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/td/telegram/MessagesManager.cpp b/td/telegram/MessagesManager.cpp index f6efb7cba..f2cb4c7d1 100644 --- a/td/telegram/MessagesManager.cpp +++ b/td/telegram/MessagesManager.cpp @@ -26116,13 +26116,15 @@ MessagesManager::Message *MessagesManager::add_message_to_dialog(Dialog *d, uniq // in get_message_notification_group_force get_dialog_notification_group_id(d->dialog_id, get_notification_group_info(d, message.get())); } - if (*need_update || (!d->last_new_message_id.is_valid() && !message_id.is_yet_unsent())) { + if (*need_update || (!d->last_new_message_id.is_valid() && !message_id.is_yet_unsent() && !message->from_database)) { auto pinned_message_id = get_message_content_pinned_message_id(message->content.get()); - if (pinned_message_id.is_valid() && have_message_force({dialog_id, pinned_message_id}, "preload pinned message")) { + if (pinned_message_id.is_valid() && pinned_message_id < message_id && + have_message_force({dialog_id, pinned_message_id}, "preload pinned message")) { LOG(INFO) << "Preloaded pinned " << pinned_message_id << " from database"; } if (d->pinned_message_notification_message_id.is_valid() && + d->pinned_message_notification_message_id < message_id && have_message_force({dialog_id, d->pinned_message_notification_message_id}, "preload previously pinned message")) { LOG(INFO) << "Preloaded previously pinned " << d->pinned_message_notification_message_id << " from database";