From 0c7e2ce37b85ede9ac1084bc543bea513a2a4fac Mon Sep 17 00:00:00 2001 From: levlam Date: Sat, 11 Aug 2018 12:54:07 +0300 Subject: [PATCH] Create settings dialod in send_update_new_message to get only notification settings from the server instead of the whole dialog. GitOrigin-RevId: ebe1e1194b0063787e0591ac94aba3866a4e07e0 --- td/telegram/MessagesManager.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/td/telegram/MessagesManager.cpp b/td/telegram/MessagesManager.cpp index be7ea1d18..8262e1328 100644 --- a/td/telegram/MessagesManager.cpp +++ b/td/telegram/MessagesManager.cpp @@ -19719,6 +19719,10 @@ void MessagesManager::send_update_new_message(Dialog *d, const Message *m, bool auto promise = PromiseCreator::lambda([actor_id = actor_id(this), dialog_id = d->dialog_id](Result result) { send_closure(actor_id, &MessagesManager::flush_pending_update_new_messages, dialog_id); }); + if (settings_dialog == nullptr && have_input_peer(settings_dialog_id, AccessRights::Read)) { + force_create_dialog(settings_dialog_id, "send update new message"); + settings_dialog = get_dialog(settings_dialog_id); + } if (settings_dialog != nullptr) { send_get_dialog_notification_settings_query(settings_dialog_id, std::move(promise)); } else {