Initialize top_thread_message_id when reply_info is changed.

GitOrigin-RevId: 1cf186d342468dc9d5f0c2cd9c5052905a102f62
This commit is contained in:
levlam 2020-09-30 14:01:40 +03:00
parent 98524b6748
commit 476a18630f

View File

@ -6607,6 +6607,10 @@ bool MessagesManager::update_message_interaction_info(DialogId dialog_id, Messag
m->reply_info = std::move(reply_info);
need_update |=
m->message_id.is_valid() && m->message_id.is_server() && !m->had_reply_markup && m->reply_markup == nullptr;
if (!m->top_thread_message_id.is_valid() && !is_broadcast_channel(dialog_id) &&
is_visible_message_reply_info(dialog_id, m)) {
m->top_thread_message_id = m->message_id;
}
}
if (need_update) {
send_update_message_interaction_info(dialog_id, m);
@ -30605,6 +30609,10 @@ MessagesManager::Message *MessagesManager::add_message_to_dialog(Dialog *d, uniq
}
}
}
if (!message->top_thread_message_id.is_valid() && !is_broadcast_channel(dialog_id) &&
is_visible_message_reply_info(dialog_id, message.get())) {
message->top_thread_message_id = message_id;
}
if (!message_id.is_scheduled() && message_id <= d->last_clear_history_message_id) {
LOG(INFO) << "Skip adding cleared " << message_id << " to " << dialog_id << " from " << source;