diff --git a/Telegram/SourceFiles/data/data_message_reactions.cpp b/Telegram/SourceFiles/data/data_message_reactions.cpp index 617e07e7e..4dbe1dc87 100644 --- a/Telegram/SourceFiles/data/data_message_reactions.cpp +++ b/Telegram/SourceFiles/data/data_message_reactions.cpp @@ -9,6 +9,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL #include "history/history.h" #include "history/history_item.h" +#include "history/history_item_components.h" #include "main/main_session.h" #include "main/main_app_config.h" #include "main/session/send_as_peers.h" @@ -137,7 +138,14 @@ PossibleItemReactionsRef LookupPossibleReactions( return {}; } auto result = PossibleItemReactionsRef(); - const auto peer = item->history()->peer; + auto peer = item->history()->peer; + if (item->isDiscussionPost()) { + if (const auto forwarded = item->Get()) { + if (forwarded->savedFromPeer) { + peer = forwarded->savedFromPeer; + } + } + } const auto session = &peer->session(); const auto reactions = &session->data().reactions(); const auto &full = reactions->list(Reactions::Type::Active); diff --git a/Telegram/SourceFiles/history/history_item.cpp b/Telegram/SourceFiles/history/history_item.cpp index 079051b8c..0695742bb 100644 --- a/Telegram/SourceFiles/history/history_item.cpp +++ b/Telegram/SourceFiles/history/history_item.cpp @@ -3427,6 +3427,14 @@ void HistoryItem::setupForwardedComponent(const CreateConfig &config) { forwarded->savedFromMsgId = config.savedFromMsgId; forwarded->savedFromSender = _history->owner().peerLoaded( config.savedFromSenderId); + if (forwarded->savedFromPeer + && !forwarded->savedFromPeer->isFullLoaded() + && forwarded->savedFromPeer->isChannel()) { + _history->session().api().requestFullPeer(forwarded->savedFromPeer); + } else if (config.savedFromPeer) { + _history->session().api().requestFullPeer( + _history->owner().peer(config.savedFromPeer)); + } forwarded->savedFromOutgoing = config.savedFromOutgoing; if (!forwarded->savedFromSender && !config.savedFromSenderName.isEmpty()) {