Drop dangling replies to yet unsent messages.

This commit is contained in:
levlam 2022-05-17 16:27:46 +03:00
parent 0bf2aaf4f2
commit e65c0827a4

View File

@ -14533,6 +14533,11 @@ FullMessageId MessagesManager::on_get_message(MessageInfo &&message_info, bool f
update_message(d, old_message.get(), std::move(new_message), &need_update_dialog_pos, false);
new_message = std::move(old_message);
if (new_message->reply_to_message_id != MessageId() && new_message->reply_to_message_id.is_yet_unsent()) {
LOG(INFO) << "Drop reply to " << new_message->reply_to_message_id;
new_message->reply_to_message_id = MessageId();
}
set_message_id(new_message, message_id);
send_update_message_send_succeeded(d, old_message_id, new_message.get());
@ -30831,6 +30836,11 @@ FullMessageId MessagesManager::on_send_message_success(int64 random_id, MessageI
sent_message->have_previous = true;
sent_message->have_next = true;
if (sent_message->reply_to_message_id != MessageId() && sent_message->reply_to_message_id.is_yet_unsent()) {
LOG(INFO) << "Drop reply to " << sent_message->reply_to_message_id;
sent_message->reply_to_message_id = MessageId();
}
send_update_message_send_succeeded(d, old_message_id, sent_message.get());
bool need_update = true;