Add source to ContactsManager::load_channel_full.
This commit is contained in:
parent
1299bc67d4
commit
3156492c2f
@ -9600,7 +9600,7 @@ void ContactsManager::on_load_channel_full_from_database(ChannelId channel_id, s
|
||||
update_channel_full(channel_full, channel_id, true);
|
||||
|
||||
if (channel_full->expires_at == 0.0) {
|
||||
load_channel_full(channel_id, true, Auto());
|
||||
load_channel_full(channel_id, true, Auto(), "on_load_channel_full_from_database");
|
||||
}
|
||||
}
|
||||
|
||||
@ -14344,10 +14344,10 @@ ContactsManager::ChannelFull *ContactsManager::add_channel_full(ChannelId channe
|
||||
return channel_full_ptr.get();
|
||||
}
|
||||
|
||||
bool ContactsManager::load_channel_full(ChannelId channel_id, bool force, Promise<Unit> &&promise) {
|
||||
auto channel_full = get_channel_full_force(channel_id, "load_channel_full");
|
||||
bool ContactsManager::load_channel_full(ChannelId channel_id, bool force, Promise<Unit> &&promise, const char *source) {
|
||||
auto channel_full = get_channel_full_force(channel_id, source);
|
||||
if (channel_full == nullptr) {
|
||||
send_get_channel_full_query(channel_full, channel_id, std::move(promise), "load_channel_full");
|
||||
send_get_channel_full_query(channel_full, channel_id, std::move(promise), source);
|
||||
return false;
|
||||
}
|
||||
if (channel_full->is_expired()) {
|
||||
|
@ -486,7 +486,7 @@ class ContactsManager final : public Actor {
|
||||
bool have_channel_force(ChannelId channel_id);
|
||||
bool get_channel(ChannelId channel_id, int left_tries, Promise<Unit> &&promise);
|
||||
void reload_channel(ChannelId chnanel_id, Promise<Unit> &&promise);
|
||||
bool load_channel_full(ChannelId channel_id, bool force, Promise<Unit> &&promise);
|
||||
bool load_channel_full(ChannelId channel_id, bool force, Promise<Unit> &&promise, const char *source);
|
||||
FileSourceId get_channel_full_file_source_id(ChannelId channel_id);
|
||||
void reload_channel_full(ChannelId channel_id, Promise<Unit> &&promise, const char *source);
|
||||
|
||||
|
@ -1725,7 +1725,7 @@ class ToggleDialogIsBlockedQuery final : public Td::ResultHandler {
|
||||
}
|
||||
if (!G()->close_flag()) {
|
||||
td->messages_manager_->on_update_dialog_is_blocked(dialog_id_, !is_blocked_);
|
||||
td->messages_manager_->get_dialog_info_full(dialog_id_, Auto());
|
||||
td->messages_manager_->get_dialog_info_full(dialog_id_, Auto(), "ToggleDialogIsBlockedQuery");
|
||||
td->messages_manager_->reget_dialog_action_bar(dialog_id_, "ToggleDialogIsBlockedQuery");
|
||||
}
|
||||
promise_.set_error(std::move(status));
|
||||
@ -4558,7 +4558,7 @@ class EditPeerFoldersQuery final : public Td::ResultHandler {
|
||||
}
|
||||
|
||||
// trying to repair folder ID for this dialog
|
||||
td->messages_manager_->get_dialog_info_full(dialog_id_, Auto());
|
||||
td->messages_manager_->get_dialog_info_full(dialog_id_, Auto(), "EditPeerFoldersQuery");
|
||||
|
||||
promise_.set_error(std::move(status));
|
||||
}
|
||||
@ -6784,8 +6784,8 @@ bool MessagesManager::is_active_message_reply_info(DialogId dialog_id, const Mes
|
||||
auto linked_channel_id = td_->contacts_manager_->get_channel_linked_channel_id(channel_id);
|
||||
if (!linked_channel_id.is_valid()) {
|
||||
// keep the comment button while linked channel is unknown
|
||||
send_closure_later(G()->contacts_manager(), &ContactsManager::load_channel_full, channel_id, false,
|
||||
Promise<Unit>());
|
||||
send_closure_later(G()->contacts_manager(), &ContactsManager::load_channel_full, channel_id, false, Promise<Unit>(),
|
||||
"is_active_message_reply_info");
|
||||
return true;
|
||||
}
|
||||
|
||||
@ -11311,7 +11311,7 @@ void MessagesManager::repair_channel_server_unread_count(Dialog *d) {
|
||||
}
|
||||
|
||||
LOG(INFO) << "Reload ChannelFull for " << d->dialog_id << " to repair unread message counts";
|
||||
get_dialog_info_full(d->dialog_id, Auto());
|
||||
get_dialog_info_full(d->dialog_id, Auto(), "repair_channel_server_unread_count");
|
||||
}
|
||||
|
||||
void MessagesManager::read_history_inbox(DialogId dialog_id, MessageId max_message_id, int32 unread_count,
|
||||
@ -14437,14 +14437,12 @@ void MessagesManager::on_get_dialogs(FolderId folder_id, vector<tl_object_ptr<te
|
||||
if (!d->is_is_blocked_inited && !td_->auth_manager_->is_bot()) {
|
||||
// asynchronously get is_blocked from the server
|
||||
// TODO add is_blocked to telegram_api::dialog
|
||||
get_dialog_info_full(dialog_id, Auto());
|
||||
}
|
||||
if (!d->is_has_bots_inited && !td_->auth_manager_->is_bot()) {
|
||||
get_dialog_info_full(dialog_id, Auto(), "on_get_dialogs init is_blocked");
|
||||
} else if (!d->is_has_bots_inited && !td_->auth_manager_->is_bot()) {
|
||||
// asynchronously get has_bots from the server
|
||||
// TODO add has_bots to telegram_api::dialog
|
||||
get_dialog_info_full(dialog_id, Auto());
|
||||
}
|
||||
if (!d->is_last_pinned_message_id_inited && !td_->auth_manager_->is_bot()) {
|
||||
get_dialog_info_full(dialog_id, Auto(), "on_get_dialogs init has_bots");
|
||||
} else if (!d->is_last_pinned_message_id_inited && !td_->auth_manager_->is_bot()) {
|
||||
// asynchronously get dialog pinned message from the server
|
||||
get_dialog_pinned_message(dialog_id, Auto());
|
||||
}
|
||||
@ -17061,7 +17059,7 @@ td_api::object_ptr<td_api::messageThreadInfo> MessagesManager::get_message_threa
|
||||
std::move(draft_message));
|
||||
}
|
||||
|
||||
void MessagesManager::get_dialog_info_full(DialogId dialog_id, Promise<Unit> &&promise) {
|
||||
void MessagesManager::get_dialog_info_full(DialogId dialog_id, Promise<Unit> &&promise, const char *source) {
|
||||
switch (dialog_id.get_type()) {
|
||||
case DialogType::User:
|
||||
send_closure_later(G()->contacts_manager(), &ContactsManager::load_user_full, dialog_id.get_user_id(), false,
|
||||
@ -17069,11 +17067,11 @@ void MessagesManager::get_dialog_info_full(DialogId dialog_id, Promise<Unit> &&p
|
||||
return;
|
||||
case DialogType::Chat:
|
||||
send_closure_later(G()->contacts_manager(), &ContactsManager::load_chat_full, dialog_id.get_chat_id(), false,
|
||||
std::move(promise), "get_dialog_info_full");
|
||||
std::move(promise), source);
|
||||
return;
|
||||
case DialogType::Channel:
|
||||
send_closure_later(G()->contacts_manager(), &ContactsManager::load_channel_full, dialog_id.get_channel_id(),
|
||||
false, std::move(promise));
|
||||
false, std::move(promise), source);
|
||||
return;
|
||||
case DialogType::SecretChat:
|
||||
return promise.set_value(Unit());
|
||||
@ -17117,11 +17115,12 @@ MessageId MessagesManager::get_dialog_pinned_message(DialogId dialog_id, Promise
|
||||
<< (d->is_last_pinned_message_id_inited ? "inited" : "unknown") << " pinned " << d->last_pinned_message_id;
|
||||
|
||||
if (!d->is_last_pinned_message_id_inited) {
|
||||
get_dialog_info_full(dialog_id, std::move(promise));
|
||||
// must call get_dialog_info_full as expected in fix_new_dialog
|
||||
get_dialog_info_full(dialog_id, std::move(promise), "get_dialog_pinned_message 1");
|
||||
return MessageId();
|
||||
}
|
||||
|
||||
get_dialog_info_full(dialog_id, Auto());
|
||||
get_dialog_info_full(dialog_id, Auto(), "get_dialog_pinned_message 2");
|
||||
|
||||
if (d->last_pinned_message_id.is_valid()) {
|
||||
tl_object_ptr<telegram_api::InputMessage> input_message;
|
||||
@ -33912,24 +33911,21 @@ void MessagesManager::fix_new_dialog(Dialog *d, unique_ptr<Message> &&last_datab
|
||||
|
||||
if (being_added_dialog_id_ != dialog_id && !d->is_is_blocked_inited && !td_->auth_manager_->is_bot()) {
|
||||
// asynchronously get is_blocked from the server
|
||||
get_dialog_info_full(dialog_id, Auto());
|
||||
}
|
||||
if (being_added_dialog_id_ != dialog_id && !d->is_has_bots_inited && !td_->auth_manager_->is_bot()) {
|
||||
get_dialog_info_full(dialog_id, Auto(), "fix_new_dialog init is_blocked");
|
||||
} else if (being_added_dialog_id_ != dialog_id && !d->is_has_bots_inited && !td_->auth_manager_->is_bot()) {
|
||||
// asynchronously get has_bots from the server
|
||||
get_dialog_info_full(dialog_id, Auto());
|
||||
}
|
||||
if (being_added_dialog_id_ != dialog_id && !d->is_last_pinned_message_id_inited && !td_->auth_manager_->is_bot()) {
|
||||
get_dialog_info_full(dialog_id, Auto(), "fix_new_dialog init has_bots");
|
||||
} else if (being_added_dialog_id_ != dialog_id && !d->is_last_pinned_message_id_inited &&
|
||||
!td_->auth_manager_->is_bot()) {
|
||||
// asynchronously get dialog pinned message from the server
|
||||
get_dialog_pinned_message(dialog_id, Auto());
|
||||
}
|
||||
if (being_added_dialog_id_ != dialog_id && !d->is_folder_id_inited && !td_->auth_manager_->is_bot() &&
|
||||
} else if (being_added_dialog_id_ != dialog_id && !d->is_folder_id_inited && !td_->auth_manager_->is_bot() &&
|
||||
order != DEFAULT_ORDER) {
|
||||
// asynchronously get dialog folder identifier from the server
|
||||
get_dialog_info_full(dialog_id, Auto());
|
||||
}
|
||||
if (!d->is_message_ttl_setting_inited && !td_->auth_manager_->is_bot() && order != DEFAULT_ORDER) {
|
||||
get_dialog_info_full(dialog_id, Auto(), "fix_new_dialog init folder_id");
|
||||
} else if (!d->is_message_ttl_setting_inited && !td_->auth_manager_->is_bot() && order != DEFAULT_ORDER) {
|
||||
// asynchronously get dialog message TTL setting from the server
|
||||
get_dialog_info_full(dialog_id, Auto());
|
||||
get_dialog_info_full(dialog_id, Auto(), "fix_new_dialog init message_ttl_setting");
|
||||
}
|
||||
if (!d->know_action_bar && !td_->auth_manager_->is_bot() && dialog_type != DialogType::SecretChat &&
|
||||
dialog_id != get_my_dialog_id() && have_input_peer(dialog_id, AccessRights::Read)) {
|
||||
|
@ -489,7 +489,7 @@ class MessagesManager final : public Actor {
|
||||
|
||||
void unpin_all_dialog_messages(DialogId dialog_id, Promise<Unit> &&promise);
|
||||
|
||||
void get_dialog_info_full(DialogId dialog_id, Promise<Unit> &&promise);
|
||||
void get_dialog_info_full(DialogId dialog_id, Promise<Unit> &&promise, const char *source);
|
||||
|
||||
int64 get_dialog_event_log(DialogId dialog_id, const string &query, int64 from_event_id, int32 limit,
|
||||
const tl_object_ptr<td_api::chatEventLogFilters> &filters, const vector<UserId> &user_ids,
|
||||
|
@ -772,7 +772,8 @@ class GetSupergroupFullInfoRequest final : public RequestActor<> {
|
||||
ChannelId channel_id_;
|
||||
|
||||
void do_run(Promise<Unit> &&promise) final {
|
||||
td->contacts_manager_->load_channel_full(channel_id_, get_tries() < 2, std::move(promise));
|
||||
td->contacts_manager_->load_channel_full(channel_id_, get_tries() < 2, std::move(promise),
|
||||
"GetSupergroupFullInfoRequest");
|
||||
}
|
||||
|
||||
void do_send_result() final {
|
||||
|
Loading…
x
Reference in New Issue
Block a user