Skip to content

Commit 42e6a52

Browse files
committed
Ignore duplicate quick reply messages.
1 parent bcd3b5c commit 42e6a52

1 file changed

Lines changed: 6 additions & 0 deletions

File tree

‎td/telegram/QuickReplyManager.cpp‎

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2585,6 +2585,7 @@ void QuickReplyManager::on_reload_quick_reply_messages(
25852585
td_->chat_manager_->on_get_chats(std::move(messages->chats_), "on_reload_quick_reply_messages");
25862586

25872587
vector<unique_ptr<QuickReplyMessage>> quick_reply_messages;
2588+
FlatHashSet<MessageId, MessageIdHash> added_message_ids;
25882589
for (auto &server_message : messages->messages_) {
25892590
auto message = create_message(std::move(server_message), "on_reload_quick_reply_messages");
25902591
if (message == nullptr) {
@@ -2594,6 +2595,11 @@ void QuickReplyManager::on_reload_quick_reply_messages(
25942595
LOG(ERROR) << "Receive message from " << message->shortcut_id << " instead of " << shortcut_id;
25952596
continue;
25962597
}
2598+
CHECK(message->message_id.is_server());
2599+
if (!added_message_ids.insert(message->message_id).second) {
2600+
LOG(ERROR) << "Receive again " << message->message_id << " in " << message->shortcut_id;
2601+
continue;
2602+
}
25972603

25982604
quick_reply_messages.push_back(std::move(message));
25992605
}

0 commit comments

Comments
 (0)