From 848de336767a9dd3e59c57802ff3037f7504e291 Mon Sep 17 00:00:00 2001 From: levlam Date: Wed, 14 Dec 2022 13:28:16 +0300 Subject: [PATCH] Replace top_thread_message_id in unsupported messages. --- td/telegram/MessagesManager.cpp | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/td/telegram/MessagesManager.cpp b/td/telegram/MessagesManager.cpp index 80931d362..9f2ba2031 100644 --- a/td/telegram/MessagesManager.cpp +++ b/td/telegram/MessagesManager.cpp @@ -36671,9 +36671,17 @@ bool MessagesManager::update_message(Dialog *d, Message *old_message, unique_ptr } if (old_message->top_thread_message_id != new_message->top_thread_message_id) { if ((new_message->top_thread_message_id == MessageId() || old_message->top_thread_message_id == MessageId()) && - !is_message_in_dialog) { + (!is_message_in_dialog || replace_legacy)) { LOG(DEBUG) << "Change message thread from " << old_message->top_thread_message_id << " to " << new_message->top_thread_message_id; + if (is_message_in_dialog && old_message->is_topic_message) { + if (old_message->top_thread_message_id != MessageId()) { + td_->forum_topic_manager_->on_topic_message_count_changed(dialog_id, old_message->top_thread_message_id, -1); + } + if (new_message->top_thread_message_id != MessageId()) { + td_->forum_topic_manager_->on_topic_message_count_changed(dialog_id, new_message->top_thread_message_id, +1); + } + } old_message->top_thread_message_id = new_message->top_thread_message_id; need_send_update = true; } else if (is_new_available) {