From 25c73f32f57e9c898dfb62e9109567f78c411a3d Mon Sep 17 00:00:00 2001 From: levlam Date: Thu, 6 Jul 2023 18:22:20 +0300 Subject: [PATCH] Reload active story lists by timeout. --- td/telegram/StoryManager.cpp | 11 ++++++++++- td/telegram/StoryManager.h | 4 ++++ td/telegram/UpdatesManager.cpp | 1 + 3 files changed, 15 insertions(+), 1 deletion(-) diff --git a/td/telegram/StoryManager.cpp b/td/telegram/StoryManager.cpp index 63a20f7ac..b96c93498 100644 --- a/td/telegram/StoryManager.cpp +++ b/td/telegram/StoryManager.cpp @@ -990,9 +990,12 @@ void StoryManager::load_active_stories(const td_api::object_ptr &&promise) { story_list.load_list_queries_.push_back(std::move(promise)); if (story_list.load_list_queries_.size() == 1u) { - bool is_next = !story_list.state_.empty(); auto query_promise = PromiseCreator::lambda([actor_id = actor_id(this), is_hidden, is_next]( Result> r_all_stories) { @@ -1002,6 +1005,12 @@ void StoryManager::load_active_stories(const td_api::object_ptr()); + } +} + void StoryManager::on_load_active_stories( bool is_hidden, bool is_next, Result> r_all_stories) { G()->ignore_result_if_closing(r_all_stories); diff --git a/td/telegram/StoryManager.h b/td/telegram/StoryManager.h index 88c3199ce..87d2303c4 100644 --- a/td/telegram/StoryManager.h +++ b/td/telegram/StoryManager.h @@ -155,6 +155,8 @@ class StoryManager final : public Actor { void load_active_stories(const td_api::object_ptr &story_list_ptr, Promise &&promise); + void reload_active_stories(); + void toggle_dialog_stories_hidden(DialogId dialog_id, bool are_hidden, Promise &&promise); void get_dialog_pinned_stories(DialogId owner_dialog_id, StoryId from_story_id, int32 limit, @@ -324,6 +326,8 @@ class StoryManager final : public Actor { void on_load_dialog_expiring_stories(DialogId owner_dialog_id); + void load_active_stories(StoryList &story_list, bool is_hidden, bool is_next, Promise &&promise); + void on_load_active_stories(bool is_hidden, bool is_next, Result> r_all_stories); diff --git a/td/telegram/UpdatesManager.cpp b/td/telegram/UpdatesManager.cpp index 30e994554..2ee03cca8 100644 --- a/td/telegram/UpdatesManager.cpp +++ b/td/telegram/UpdatesManager.cpp @@ -2170,6 +2170,7 @@ void UpdatesManager::try_reload_data() { td_->stickers_manager_->reload_special_sticker_set_by_type(SpecialStickerSetType::default_topic_icons()); td_->stickers_manager_->get_default_dialog_photo_custom_emoji_stickers(false, true, Auto()); td_->stickers_manager_->get_default_dialog_photo_custom_emoji_stickers(true, true, Auto()); + td_->story_manager_->reload_active_stories(); schedule_data_reload(); }