From 4659b664e77792f0065e8ab0cf56b0cda4fe09c4 Mon Sep 17 00:00:00 2001 From: John Preston Date: Sun, 30 Apr 2017 15:42:04 +0300 Subject: [PATCH] Skip fwd_info for msgs from chat with yourself. Server doesn't add fwd_info if a non-forwarded message is forwarded from chat with yourself so don't add it locally as well. --- Telegram/SourceFiles/history/history_message.cpp | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/Telegram/SourceFiles/history/history_message.cpp b/Telegram/SourceFiles/history/history_message.cpp index 683902645a..ae56ba7d37 100644 --- a/Telegram/SourceFiles/history/history_message.cpp +++ b/Telegram/SourceFiles/history/history_message.cpp @@ -454,10 +454,13 @@ HistoryMessage::HistoryMessage(History *history, MsgId id, MTPDmessage::Flags fl : HistoryItem(history, id, newForwardedFlags(history->peer, from, fwd) | flags, date, from) { CreateConfig config; - config.authorIdOriginal = fwd->authorOriginal()->id; - config.fromIdOriginal = fwd->fromOriginal()->id; - if (fwd->authorOriginal()->isChannel()) { - config.originalId = fwd->idOriginal(); + if (fwd->Has() || !fwd->history()->peer->isSelf()) { + // Server doesn't add "fwd_from" to non-forwarded messages from chat with yourself. + config.authorIdOriginal = fwd->authorOriginal()->id; + config.fromIdOriginal = fwd->fromOriginal()->id; + if (fwd->authorOriginal()->isChannel()) { + config.originalId = fwd->idOriginal(); + } } auto fwdViaBot = fwd->viaBot(); if (fwdViaBot) config.viaBotId = peerToUser(fwdViaBot->id);