From b3499717a40e3c3e9f1b2dac4f0693527e229417 Mon Sep 17 00:00:00 2001 From: levlam Date: Thu, 21 Jun 2018 21:21:09 +0300 Subject: [PATCH] Fix reading of failed to send messages. GitOrigin-RevId: 72b24013e2e15664d8dee7b7980e159fd4277dad --- td/telegram/MessagesManager.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/td/telegram/MessagesManager.cpp b/td/telegram/MessagesManager.cpp index eb50c7807..4f4d3580e 100644 --- a/td/telegram/MessagesManager.cpp +++ b/td/telegram/MessagesManager.cpp @@ -9471,14 +9471,15 @@ void MessagesManager::ttl_read_history_impl(DialogId dialog_id, bool is_outgoing auto now = Time::now(); for (auto it = MessagesIterator(d, from_message_id); *it && (*it)->message_id.get() >= till_message_id.get(); --it) { auto *message = *it; - if (message->is_outgoing == is_outgoing && !message->message_id.is_yet_unsent()) { + if (message->is_outgoing == is_outgoing) { ttl_on_view(d, message, view_date, now); } } } void MessagesManager::ttl_on_view(const Dialog *d, Message *message, double view_date, double now) { - if (message->ttl > 0 && message->ttl_expires_at == 0 && !message->is_content_secret) { + if (message->ttl > 0 && message->ttl_expires_at == 0 && !message->message_id.is_yet_unsent() && + !message->is_failed_to_send && !message->is_content_secret) { message->ttl_expires_at = message->ttl + view_date; ttl_register_message(d->dialog_id, message, now); on_message_changed(d, message, "ttl_on_view"); @@ -10064,7 +10065,7 @@ void MessagesManager::open_secret_message(SecretChatId secret_chat_id, int64 ran } Message *m = get_message(d, message_id); CHECK(m != nullptr); - if (message_id.is_yet_unsent() || !m->is_outgoing) { + if (message_id.is_yet_unsent() || m->is_failed_to_send || !m->is_outgoing) { LOG(ERROR) << "Peer has opened wrong " << message_id << " in " << dialog_id; return; }