From 7bd137889b93b8f747d29cf02882f8988b9d8293 Mon Sep 17 00:00:00 2001 From: levlam Date: Wed, 4 Dec 2019 20:41:49 +0300 Subject: [PATCH] Calculate scheduled messages hash. GitOrigin-RevId: 2d3fc1e9d4e19913993ddf0d6aaee4303d2b41bc --- td/telegram/MessagesManager.cpp | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/td/telegram/MessagesManager.cpp b/td/telegram/MessagesManager.cpp index a3682d816..d3bf083a5 100644 --- a/td/telegram/MessagesManager.cpp +++ b/td/telegram/MessagesManager.cpp @@ -16857,10 +16857,23 @@ vector MessagesManager::get_dialog_scheduled_messages(DialogId dialog std::reverse(message_ids.begin(), message_ids.end()); if (d->scheduled_messages_sync_generation != scheduled_messages_sync_generation_) { - // TODO calculate hash + vector numbers; + for (auto &message_id : message_ids) { + if (!message_id.is_scheduled_server()) { + continue; + } + + numbers.push_back(message_id.get_scheduled_server_message_id().get()); + const Message *m = get_message(d, message_id); + CHECK(m != nullptr); + numbers.push_back(m->edit_date); + numbers.push_back(m->date); + } + auto hash = get_vector_hash(numbers); + // TODO reload synchronously, if there is no known server messages and (has_scheduled_messages == true or // d->scheduled_messages_sync_generation == 0 && !G()->parameters().use_message_db) - load_dialog_scheduled_messages(dialog_id, false, 0, Promise()); + load_dialog_scheduled_messages(dialog_id, false, hash, Promise()); } promise.set_value(Unit());