Improve backward compatibility.
This commit is contained in:
parent
e42e224154
commit
4067ba66d3
@ -5065,11 +5065,11 @@ unique_ptr<MessageContent> get_action_message_content(Td *td, tl_object_ptr<tele
|
|||||||
}
|
}
|
||||||
case telegram_api::messageActionTopicCreate::ID: {
|
case telegram_api::messageActionTopicCreate::ID: {
|
||||||
auto action = move_tl_object_as<telegram_api::messageActionTopicCreate>(action_ptr);
|
auto action = move_tl_object_as<telegram_api::messageActionTopicCreate>(action_ptr);
|
||||||
break;
|
return make_unique<MessageUnsupported>();
|
||||||
}
|
}
|
||||||
case telegram_api::messageActionTopicEdit::ID: {
|
case telegram_api::messageActionTopicEdit::ID: {
|
||||||
auto action = move_tl_object_as<telegram_api::messageActionTopicEdit>(action_ptr);
|
auto action = move_tl_object_as<telegram_api::messageActionTopicEdit>(action_ptr);
|
||||||
break;
|
return make_unique<MessageUnsupported>();
|
||||||
}
|
}
|
||||||
default:
|
default:
|
||||||
UNREACHABLE();
|
UNREACHABLE();
|
||||||
|
@ -32345,7 +32345,7 @@ void MessagesManager::fail_edit_message_media(FullMessageId full_message_id, Sta
|
|||||||
cancel_edit_message_media(dialog_id, m, "Failed to edit message. MUST BE IGNORED");
|
cancel_edit_message_media(dialog_id, m, "Failed to edit message. MUST BE IGNORED");
|
||||||
}
|
}
|
||||||
|
|
||||||
void MessagesManager::on_update_dialog_draft_message(DialogId dialog_id,
|
void MessagesManager::on_update_dialog_draft_message(DialogId dialog_id, MessageId top_thread_message_id,
|
||||||
tl_object_ptr<telegram_api::DraftMessage> &&draft_message) {
|
tl_object_ptr<telegram_api::DraftMessage> &&draft_message) {
|
||||||
if (!dialog_id.is_valid()) {
|
if (!dialog_id.is_valid()) {
|
||||||
LOG(ERROR) << "Receive update chat draft in invalid " << dialog_id;
|
LOG(ERROR) << "Receive update chat draft in invalid " << dialog_id;
|
||||||
@ -32361,7 +32361,12 @@ void MessagesManager::on_update_dialog_draft_message(DialogId dialog_id,
|
|||||||
}
|
}
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
update_dialog_draft_message(d, get_draft_message(td_->contacts_manager_.get(), std::move(draft_message)), true, true);
|
auto draft = get_draft_message(td_->contacts_manager_.get(), std::move(draft_message));
|
||||||
|
if (top_thread_message_id.is_valid()) {
|
||||||
|
// TODO update thread message draft
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
update_dialog_draft_message(d, std::move(draft), true, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool MessagesManager::update_dialog_draft_message(Dialog *d, unique_ptr<DraftMessage> &&draft_message, bool from_update,
|
bool MessagesManager::update_dialog_draft_message(Dialog *d, unique_ptr<DraftMessage> &&draft_message, bool from_update,
|
||||||
|
@ -293,7 +293,8 @@ class MessagesManager final : public Actor {
|
|||||||
|
|
||||||
bool on_update_message_id(int64 random_id, MessageId new_message_id, const string &source);
|
bool on_update_message_id(int64 random_id, MessageId new_message_id, const string &source);
|
||||||
|
|
||||||
void on_update_dialog_draft_message(DialogId dialog_id, tl_object_ptr<telegram_api::DraftMessage> &&draft_message);
|
void on_update_dialog_draft_message(DialogId dialog_id, MessageId top_thread_message_id,
|
||||||
|
tl_object_ptr<telegram_api::DraftMessage> &&draft_message);
|
||||||
|
|
||||||
void on_update_dialog_is_pinned(FolderId folder_id, DialogId dialog_id, bool is_pinned);
|
void on_update_dialog_is_pinned(FolderId folder_id, DialogId dialog_id, bool is_pinned);
|
||||||
|
|
||||||
|
@ -3272,7 +3272,12 @@ void UpdatesManager::on_update(tl_object_ptr<telegram_api::updateChatDefaultBann
|
|||||||
}
|
}
|
||||||
|
|
||||||
void UpdatesManager::on_update(tl_object_ptr<telegram_api::updateDraftMessage> update, Promise<Unit> &&promise) {
|
void UpdatesManager::on_update(tl_object_ptr<telegram_api::updateDraftMessage> update, Promise<Unit> &&promise) {
|
||||||
td_->messages_manager_->on_update_dialog_draft_message(DialogId(update->peer_), std::move(update->draft_));
|
MessageId top_thread_message_id;
|
||||||
|
if ((update->flags_ & telegram_api::updateDraftMessage::TOP_MSG_ID_MASK) != 0) {
|
||||||
|
top_thread_message_id = MessageId(ServerMessageId(update->top_msg_id_));
|
||||||
|
}
|
||||||
|
td_->messages_manager_->on_update_dialog_draft_message(DialogId(update->peer_), top_thread_message_id,
|
||||||
|
std::move(update->draft_));
|
||||||
promise.set_value(Unit());
|
promise.set_value(Unit());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user