Force get channel difference if receive new message id evidence.

GitOrigin-RevId: 4c2f7cf65687e99d7fbf10a7ebf514fead9485bd
This commit is contained in:
levlam 2018-07-07 05:18:50 +03:00
parent 8e75107bf5
commit 145c55ad12

View File

@ -5821,6 +5821,9 @@ void MessagesManager::on_update_message_views(FullMessageId full_message_id, int
Message *m = get_message_force(d, message_id); Message *m = get_message_force(d, message_id);
if (m == nullptr) { if (m == nullptr) {
LOG(INFO) << "Ignore updateMessageViews about unknown " << full_message_id; LOG(INFO) << "Ignore updateMessageViews about unknown " << full_message_id;
if (message_id.get() > d->last_new_message_id.get() && dialog_id.get_type() == DialogType::Channel) {
get_channel_difference(dialog_id, d->pts, true, "on_update_message_views");
}
return; return;
} }
@ -8874,6 +8877,7 @@ void MessagesManager::read_message_content_from_updates(MessageId message_id) {
} }
void MessagesManager::read_channel_message_content_from_updates(Dialog *d, MessageId message_id) { void MessagesManager::read_channel_message_content_from_updates(Dialog *d, MessageId message_id) {
CHECK(d != nullptr);
if (!message_id.is_valid() || !message_id.is_server()) { if (!message_id.is_valid() || !message_id.is_server()) {
LOG(ERROR) << "Incoming update tries to read content of " << message_id << " in " << d->dialog_id; LOG(ERROR) << "Incoming update tries to read content of " << message_id << " in " << d->dialog_id;
return; return;
@ -8882,6 +8886,8 @@ void MessagesManager::read_channel_message_content_from_updates(Dialog *d, Messa
Message *m = get_message_force(d, message_id); Message *m = get_message_force(d, message_id);
if (m != nullptr) { if (m != nullptr) {
read_message_content(d, m, false, "read_channel_message_content_from_updates"); read_message_content(d, m, false, "read_channel_message_content_from_updates");
} else if (message_id.get() > d->last_new_message_id.get()) {
get_channel_difference(d->dialog_id, d->pts, true, "read_channel_message_content_from_updates");
} }
} }