From 3ae7ac50c324d38eb3662d3970420f1d1a8e236a Mon Sep 17 00:00:00 2001 From: RadRussianRus Date: Tue, 30 Mar 2021 16:52:23 +0300 Subject: [PATCH] Fix mixed order of messages for dices and files too --- Telegram/SourceFiles/api/api_sending.cpp | 84 +++++++++++++----------- Telegram/SourceFiles/apiwrap.cpp | 4 +- 2 files changed, 46 insertions(+), 42 deletions(-) diff --git a/Telegram/SourceFiles/api/api_sending.cpp b/Telegram/SourceFiles/api/api_sending.cpp index ebd0be1c7..fdcd0314c 100644 --- a/Telegram/SourceFiles/api/api_sending.cpp +++ b/Telegram/SourceFiles/api/api_sending.cpp @@ -122,18 +122,20 @@ void SendExistingMedia( session->data().registerMessageRandomId(randomId, newId); - history->addNewLocalMessage( - newId.msg, - flags, - clientFlags, - 0, - replyTo, - HistoryItem::NewMessageDate(message.action.options.scheduled), - messageFromId, - messagePostAuthor, - media, - caption, - MTPReplyMarkup()); + if (!forwarding) { + history->addNewLocalMessage( + newId.msg, + flags, + clientFlags, + 0, + replyTo, + HistoryItem::NewMessageDate(message.action.options.scheduled), + messageFromId, + messagePostAuthor, + media, + caption, + MTPReplyMarkup()); + } auto performRequest = [=](const auto &repeatRequest) -> void { auto &histories = history->owner().histories(); @@ -299,34 +301,36 @@ bool SendDice( session->data().registerMessageRandomId(randomId, newId); - const auto views = 1; - const auto forwards = 0; - history->addNewMessage( - MTP_message( - MTP_flags(flags), - MTP_int(newId.msg), - peerToMTP(messageFromId), - peerToMTP(history->peer->id), - MTPMessageFwdHeader(), - MTPint(), // via_bot_id - replyHeader, - MTP_int(HistoryItem::NewMessageDate( - message.action.options.scheduled)), - MTP_string(), - MTP_messageMediaDice(MTP_int(0), MTP_string(emoji)), - MTPReplyMarkup(), - MTP_vector(), - MTP_int(views), - MTP_int(forwards), - MTPMessageReplies(), - MTPint(), // edit_date - MTP_string(messagePostAuthor), - MTPlong(), - //MTPMessageReactions(), - MTPVector(), - MTPint()), // ttl_period - clientFlags, - NewMessageType::Unread); + if (!forwarding) { + const auto views = 1; + const auto forwards = 0; + history->addNewMessage( + MTP_message( + MTP_flags(flags), + MTP_int(newId.msg), + peerToMTP(messageFromId), + peerToMTP(history->peer->id), + MTPMessageFwdHeader(), + MTPint(), // via_bot_id + replyHeader, + MTP_int(HistoryItem::NewMessageDate( + message.action.options.scheduled)), + MTP_string(), + MTP_messageMediaDice(MTP_int(0), MTP_string(emoji)), + MTPReplyMarkup(), + MTP_vector(), + MTP_int(views), + MTP_int(forwards), + MTPMessageReplies(), + MTPint(), // edit_date + MTP_string(messagePostAuthor), + MTPlong(), + //MTPMessageReactions(), + MTPVector(), + MTPint()), // ttl_period + clientFlags, + NewMessageType::Unread); + } const auto requestType = Data::Histories::RequestType::Send; histories.sendRequest(history, requestType, [=](Fn finish) { diff --git a/Telegram/SourceFiles/apiwrap.cpp b/Telegram/SourceFiles/apiwrap.cpp index 534398433..b68b32bf1 100644 --- a/Telegram/SourceFiles/apiwrap.cpp +++ b/Telegram/SourceFiles/apiwrap.cpp @@ -4520,9 +4520,9 @@ void ApiWrap::sendMessage( } else { clientFlags |= MTPDmessage_ClientFlag::f_local_history_entry; } - const auto views = 1; - const auto forwards = 0; if (!forwarding) { + const auto views = 1; + const auto forwards = 0; lastMessage = history->addNewMessage( MTP_message( MTP_flags(flags),