diff --git a/td/telegram/MessagesDb.cpp b/td/telegram/MessagesDb.cpp index f2acc5f6..453337fe 100644 --- a/td/telegram/MessagesDb.cpp +++ b/td/telegram/MessagesDb.cpp @@ -815,8 +815,8 @@ class MessagesDbImpl : public MessagesDbSyncInterface { stmt.bind_int64(2, from_message_id).ensure(); stmt.bind_int32(3, limit).ensure(); - LOG(INFO) << "Load " << limit << " messages in " << DialogId(dialog_id) << " from " << MessageId(from_message_id) - << " from database"; + LOG(INFO) << "Begin to load " << limit << " messages in " << DialogId(dialog_id) << " from " + << MessageId(from_message_id) << " from database"; std::vector result; stmt.step().ensure(); while (stmt.has_row()) { diff --git a/td/telegram/MessagesManager.cpp b/td/telegram/MessagesManager.cpp index c8cdc9c3..1dd0ac16 100644 --- a/td/telegram/MessagesManager.cpp +++ b/td/telegram/MessagesManager.cpp @@ -13128,8 +13128,9 @@ tl_object_ptr MessagesManager::get_dialog_history(DialogId dia CHECK(offset == 0); preload_newer_messages(d, MessageId(messages[0]->id_)); preload_older_messages(d, MessageId(messages.back()->id_)); - } else if (messages.size() < static_cast(limit) && left_tries != 0) { - // there can be more messages on the server, need to load them + } else if (messages.size() < static_cast(limit) && left_tries != 0 && + !(d->is_empty && d->have_full_history && left_tries < 3)) { + // there can be more messages in the database or on the server, need to load them if (from_the_end) { from_message_id = MessageId(); }