From 73bd67d88db6055baa7c00506619d27a63acbd55 Mon Sep 17 00:00:00 2001 From: levlam Date: Mon, 14 Aug 2023 22:31:21 +0300 Subject: [PATCH] Don't reload chat active stories if have no read access to the chat. --- td/telegram/ContactsManager.cpp | 2 +- td/telegram/StoryManager.cpp | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/td/telegram/ContactsManager.cpp b/td/telegram/ContactsManager.cpp index ba0d2451c..204b045c7 100644 --- a/td/telegram/ContactsManager.cpp +++ b/td/telegram/ContactsManager.cpp @@ -11975,7 +11975,7 @@ void ContactsManager::update_user(User *u, UserId user_id, bool from_binlog, boo u->is_is_contact_changed = false; } if (u->is_is_mutual_contact_changed) { - if (!from_database) { + if (!from_database && u->is_update_user_sent) { send_closure_later(td_->story_manager_actor_, &StoryManager::reload_dialog_expiring_stories, DialogId(user_id)); } u->is_is_mutual_contact_changed = false; diff --git a/td/telegram/StoryManager.cpp b/td/telegram/StoryManager.cpp index 9f753e1ec..e6fb04205 100644 --- a/td/telegram/StoryManager.cpp +++ b/td/telegram/StoryManager.cpp @@ -2044,7 +2044,10 @@ void StoryManager::get_dialog_expiring_stories(DialogId owner_dialog_id, } void StoryManager::reload_dialog_expiring_stories(DialogId dialog_id) { - td_->messages_manager_->force_create_dialog(dialog_id, "reload_dialog_expiring_stories", true); + if (!td_->messages_manager_->have_input_peer(dialog_id, AccessRights::Read)) { + return; + } + td_->messages_manager_->force_create_dialog(dialog_id, "reload_dialog_expiring_stories"); load_dialog_expiring_stories(dialog_id, 0, "reload_dialog_expiring_stories"); }