Always show reaction userpics in private chats.

This commit is contained in:
John Preston 2022-08-31 18:00:02 +04:00
parent 2618ee3d75
commit 742b819c7e

View file

@ -17,7 +17,9 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
#include "data/stickers/data_custom_emoji.h"
#include "data/data_message_reactions.h"
#include "data/data_peer.h"
#include "data/data_user.h"
#include "data/data_session.h"
#include "main/main_session.h"
#include "lang/lang_tag.h"
#include "ui/text/text_custom_emoji.h"
#include "ui/chat/chat_style.h"
@ -595,6 +597,21 @@ InlineListData InlineListDataFromMessage(not_null<Message*> message) {
const auto item = message->message();
auto result = InlineListData();
result.reactions = item->reactions();
if (const auto user = item->history()->peer->asUser()) {
// Always show userpics, we have all information.
result.recent.reserve(result.reactions.size());
const auto self = user->session().user();
for (const auto &reaction : result.reactions) {
auto &list = result.recent[reaction.id];
list.reserve(reaction.count);
if (!reaction.my || reaction.count > 1) {
list.push_back(user);
}
if (reaction.my) {
list.push_back(self);
}
}
} else {
const auto &recent = item->recentReactions();
const auto showUserpics = [&] {
if (recent.size() != result.reactions.size()) {
@ -620,6 +637,7 @@ InlineListData InlineListDataFromMessage(not_null<Message*> message) {
| ranges::to_vector;
}
}
}
result.flags = (message->hasOutLayout() ? Flag::OutLayout : Flag())
| (message->embedReactionsInBubble() ? Flag::InBubble : Flag());
return result;