diff --git a/td/telegram/MessagesManager.cpp b/td/telegram/MessagesManager.cpp index d39dbb18e..ce3f7ac6f 100644 --- a/td/telegram/MessagesManager.cpp +++ b/td/telegram/MessagesManager.cpp @@ -8241,7 +8241,17 @@ vector MessagesManager::get_active_reactions(const vector &avail vector MessagesManager::get_active_reactions(const vector &available_reactions, const vector &active_reactions) { - return available_reactions; + if (available_reactions.empty() || available_reactions == active_reactions) { + // fast path + return available_reactions; + } + vector result; + for (const auto &active_reaction : active_reactions) { + if (td::contains(available_reactions, active_reaction)) { + result.push_back(active_reaction); + } + } + return result; } vector MessagesManager::get_dialog_active_reactions(const Dialog *d) const {