@@ -3825,7 +3825,7 @@ void MessagesManager::on_live_location_expire_timeout() {
3825
3825
LOG(INFO) << "Have no messages to delete";
3826
3826
schedule_active_live_location_expiration();
3827
3827
} else {
3828
- for (auto message_full_id : to_delete_message_full_ids) {
3828
+ for (const auto & message_full_id : to_delete_message_full_ids) {
3829
3829
bool is_deleted = delete_active_live_location(message_full_id);
3830
3830
CHECK(is_deleted);
3831
3831
}
@@ -6685,7 +6685,7 @@ void MessagesManager::restore_missing_messages_after_get_difference() {
6685
6685
}
6686
6686
}
6687
6687
}
6688
- for (auto message_full_id : restored_message_full_ids) {
6688
+ for (const auto & message_full_id : restored_message_full_ids) {
6689
6689
messages_to_restore_.erase(message_full_id);
6690
6690
}
6691
6691
if (missing_messages.empty()) {
@@ -13541,7 +13541,6 @@ void MessagesManager::get_dialogs_from_list(DialogListId dialog_list_id, int32 l
13541
13541
auto &task = get_dialogs_tasks_[task_id];
13542
13542
task.dialog_list_id = dialog_list_id;
13543
13543
task.dialog_list_unique_id = list->unique_id_;
13544
- task.retry_count = 5;
13545
13544
task.limit = limit;
13546
13545
task.promise = std::move(promise);
13547
13546
get_dialogs_from_list_impl(task_id);
@@ -14410,13 +14409,13 @@ void MessagesManager::get_messages(DialogId dialog_id, const vector<MessageId> &
14410
14409
14411
14410
void MessagesManager::get_message_from_server(MessageFullId message_full_id, Promise<Unit> &&promise,
14412
14411
const char *source,
14413
- tl_object_ptr <telegram_api::InputMessage> input_message) {
14412
+ telegram_api::object_ptr <telegram_api::InputMessage> input_message) {
14414
14413
get_messages_from_server({message_full_id}, std::move(promise), source, std::move(input_message));
14415
14414
}
14416
14415
14417
14416
void MessagesManager::get_messages_from_server(vector<MessageFullId> &&message_ids, Promise<Unit> &&promise,
14418
14417
const char *source,
14419
- tl_object_ptr <telegram_api::InputMessage> input_message) {
14418
+ telegram_api::object_ptr <telegram_api::InputMessage> input_message) {
14420
14419
TRY_STATUS_PROMISE(promise, G()->close_status());
14421
14420
14422
14421
if (message_ids.empty()) {
@@ -14428,8 +14427,9 @@ void MessagesManager::get_messages_from_server(vector<MessageFullId> &&message_i
14428
14427
CHECK(message_ids.size() == 1);
14429
14428
}
14430
14429
14431
- vector<tl_object_ptr<telegram_api::InputMessage>> ordinary_message_ids;
14432
- FlatHashMap<ChannelId, vector<tl_object_ptr<telegram_api::InputMessage>>, ChannelIdHash> channel_message_ids;
14430
+ vector<telegram_api::object_ptr<telegram_api::InputMessage>> ordinary_message_ids;
14431
+ FlatHashMap<ChannelId, vector<telegram_api::object_ptr<telegram_api::InputMessage>>, ChannelIdHash>
14432
+ channel_message_ids;
14433
14433
FlatHashMap<DialogId, vector<int32>, DialogIdHash> scheduled_message_ids;
14434
14434
for (auto &message_full_id : message_ids) {
14435
14435
auto dialog_id = message_full_id.get_dialog_id();
@@ -14442,7 +14442,7 @@ void MessagesManager::get_messages_from_server(vector<MessageFullId> &&message_i
14442
14442
}
14443
14443
14444
14444
if (input_message == nullptr) {
14445
- input_message = make_tl_object <telegram_api::inputMessageID>(message_id.get_server_message_id().get());
14445
+ input_message = telegram_api::make_object <telegram_api::inputMessageID>(message_id.get_server_message_id().get());
14446
14446
}
14447
14447
14448
14448
switch (dialog_id.get_type()) {
@@ -14951,7 +14951,8 @@ void MessagesManager::on_get_message_link_dialog(MessageLinkInfo &&info, DialogI
14951
14951
14952
14952
Dialog *d = get_dialog_force(dialog_id, "on_get_message_link_dialog");
14953
14953
CHECK(d != nullptr);
14954
- get_message_force_from_server(d, info.message_id,
14954
+ auto message_id = info.message_id;
14955
+ get_message_force_from_server(d, message_id,
14955
14956
PromiseCreator::lambda([actor_id = actor_id(this), info = std::move(info), dialog_id,
14956
14957
promise = std::move(promise)](Result<Unit> &&result) mutable {
14957
14958
if (result.is_error()) {
@@ -17637,7 +17638,7 @@ void MessagesManager::schedule_active_live_location_expiration() {
17637
17638
live_location_expire_timeout_.cancel_timeout();
17638
17639
} else {
17639
17640
double expires_in = std::numeric_limits<int32>::max();
17640
- for (auto message_full_id : active_live_location_message_full_ids_) {
17641
+ for (const auto & message_full_id : active_live_location_message_full_ids_) {
17641
17642
const auto *m = get_message(message_full_id);
17642
17643
CHECK(m != nullptr);
17643
17644
double live_period = get_message_content_live_location_period(m->content.get());
@@ -18588,6 +18589,7 @@ void MessagesManager::on_get_history_from_database(DialogId dialog_id, MessageId
18588
18589
auto debug_last_new_message_id = d->last_new_message_id;
18589
18590
18590
18591
bool have_error = false;
18592
+ auto message_count = messages.size();
18591
18593
auto message_ids = on_get_messages_from_database(
18592
18594
d, std::move(messages), d->have_full_history ? MessageId::min() : d->first_database_message_id, have_error,
18593
18595
"on_get_history_from_database");
@@ -18650,7 +18652,7 @@ void MessagesManager::on_get_history_from_database(DialogId dialog_id, MessageId
18650
18652
}
18651
18653
}
18652
18654
18653
- if (from_the_end && messages.empty() && d->ordered_messages.empty()) {
18655
+ if (from_the_end && message_count == 0 && d->ordered_messages.empty()) {
18654
18656
if (d->have_full_history) {
18655
18657
set_dialog_is_empty(d, "on_get_history_from_database empty");
18656
18658
} else if (d->last_database_message_id.is_valid()) {
@@ -18691,10 +18693,10 @@ void MessagesManager::on_get_history_from_database(DialogId dialog_id, MessageId
18691
18693
<< " from database from the end, but expected messages from " << d->first_database_message_id
18692
18694
<< " up to " << d->last_database_message_id
18693
18695
<< ". Have old last_database_message_id = " << old_last_database_message_id << " and "
18694
- << messages.size() << " received messages";
18696
+ << message_count << " received messages";
18695
18697
} else {
18696
- LOG(ERROR) << "Receive " << messages.size() << " unusable messages [" << first_received_message_id
18697
- << " ... " << last_received_message_id << "] in " << dialog_id
18698
+ LOG(ERROR) << "Receive " << message_count << " unusable messages [" << first_received_message_id << " ... "
18699
+ << last_received_message_id << "] in " << dialog_id
18698
18700
<< " from database from the end, but expected messages from " << d->first_database_message_id
18699
18701
<< " up to " << d->last_database_message_id;
18700
18702
}
@@ -20178,12 +20180,12 @@ vector<FileId> MessagesManager::get_message_file_ids(const Message *m) const {
20178
20180
void MessagesManager::cancel_upload_message_content_files(const vector<FileUploadId> &file_upload_ids,
20179
20181
const vector<FileUploadId> &thumbnail_file_upload_ids) {
20180
20182
// always cancel file upload, it should be a no-op in the worst case
20181
- for (auto file_upload_id : file_upload_ids) {
20183
+ for (const auto & file_upload_id : file_upload_ids) {
20182
20184
if (being_uploaded_files_.erase(file_upload_id) || file_upload_id.is_valid()) {
20183
20185
cancel_upload_file(file_upload_id, "cancel_upload_message_content_files");
20184
20186
}
20185
20187
}
20186
- for (auto file_upload_id : thumbnail_file_upload_ids) {
20188
+ for (const auto & file_upload_id : thumbnail_file_upload_ids) {
20187
20189
if (being_uploaded_thumbnails_.erase(file_upload_id) || being_loaded_secret_thumbnails_.erase(file_upload_id) ||
20188
20190
file_upload_id.is_valid()) {
20189
20191
cancel_upload_file(file_upload_id, "cancel_upload_message_content_files");
@@ -20225,7 +20227,7 @@ void MessagesManager::cancel_send_message_query(DialogId dialog_id, Message *m)
20225
20227
{
20226
20228
auto it = replied_yet_unsent_messages_.find({dialog_id, m->message_id});
20227
20229
if (it != replied_yet_unsent_messages_.end()) {
20228
- for (auto message_full_id : it->second) {
20230
+ for (const auto & message_full_id : it->second) {
20229
20231
auto reply_d = get_dialog(message_full_id.get_dialog_id());
20230
20232
CHECK(reply_d != nullptr);
20231
20233
auto replied_m = get_message(reply_d, message_full_id.get_message_id());
@@ -22914,7 +22916,7 @@ void MessagesManager::update_message_max_reply_media_timestamp_in_replied_messag
22914
22916
22915
22917
LOG(INFO) << "Update max_reply_media_timestamp for replies of " << message_full_id;
22916
22918
22917
- for (auto replied_message_full_id : it->second) {
22919
+ for (const auto & replied_message_full_id : it->second) {
22918
22920
auto replied_dialog_id = replied_message_full_id.get_dialog_id();
22919
22921
Dialog *d = get_dialog(replied_dialog_id);
22920
22922
auto m = get_message(d, replied_message_full_id.get_message_id());
@@ -22932,7 +22934,7 @@ void MessagesManager::update_story_max_reply_media_timestamp_in_replied_messages
22932
22934
22933
22935
LOG(INFO) << "Update max_reply_media_timestamp for replies of " << story_full_id;
22934
22936
22935
- for (auto replied_message_full_id : it->second) {
22937
+ for (const auto & replied_message_full_id : it->second) {
22936
22938
auto replied_dialog_id = replied_message_full_id.get_dialog_id();
22937
22939
Dialog *d = get_dialog(replied_dialog_id);
22938
22940
auto m = get_message(d, replied_message_full_id.get_message_id());
@@ -26410,7 +26412,7 @@ void MessagesManager::update_reply_to_message_id(DialogId dialog_id, MessageId o
26410
26412
CHECK(old_message_id.is_yet_unsent());
26411
26413
CHECK(new_message_id == MessageId() || new_message_id.is_valid() || new_message_id.is_valid_scheduled());
26412
26414
26413
- for (auto message_full_id : it->second) {
26415
+ for (const auto & message_full_id : it->second) {
26414
26416
auto reply_d = get_dialog(message_full_id.get_dialog_id());
26415
26417
CHECK(reply_d != nullptr);
26416
26418
auto replied_m = get_message(reply_d, message_full_id.get_message_id());
0 commit comments