From 8c2375fdfe2cf485732a3e883df624ff9ffe2a24 Mon Sep 17 00:00:00 2001 From: levlam Date: Thu, 25 Jan 2024 20:51:52 +0300 Subject: [PATCH] Invalidate user_full_contact_require_premium_ when contact_require_premium changes. --- td/telegram/ContactsManager.cpp | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/td/telegram/ContactsManager.cpp b/td/telegram/ContactsManager.cpp index f755e97e6..33e9f9a35 100644 --- a/td/telegram/ContactsManager.cpp +++ b/td/telegram/ContactsManager.cpp @@ -9247,8 +9247,7 @@ void ContactsManager::on_get_user(tl_object_ptr &&user_ptr, can_join_groups != u->can_join_groups || can_read_all_group_messages != u->can_read_all_group_messages || is_scam != u->is_scam || is_fake != u->is_fake || is_inline_bot != u->is_inline_bot || inline_query_placeholder != u->inline_query_placeholder || need_location_bot != u->need_location_bot || - can_be_added_to_attach_menu != u->can_be_added_to_attach_menu || - contact_require_premium != u->contact_require_premium) { + can_be_added_to_attach_menu != u->can_be_added_to_attach_menu) { if (is_bot != u->is_bot) { LOG_IF(ERROR, !is_deleted && !u->is_deleted && u->is_received) << "User.is_bot has changed for " << user_id << "/" << u->usernames << " from " << source << " from " @@ -9266,11 +9265,15 @@ void ContactsManager::on_get_user(tl_object_ptr &&user_ptr, u->inline_query_placeholder = std::move(inline_query_placeholder); u->need_location_bot = need_location_bot; u->can_be_added_to_attach_menu = can_be_added_to_attach_menu; - u->contact_require_premium = contact_require_premium; LOG(DEBUG) << "Info has changed for " << user_id; u->is_changed = true; } + if (u->contact_require_premium != contact_require_premium) { + u->contact_require_premium = contact_require_premium; + u->is_changed = true; + user_full_contact_require_premium_.erase(user_id); + } if (is_received && attach_menu_enabled != u->attach_menu_enabled) { u->attach_menu_enabled = attach_menu_enabled; u->is_changed = true;