Possibly better handling of wrong is_outgoing flag.
GitOrigin-RevId: a53999ddb5aee83b2a737364ab07c2906b5b84fb
This commit is contained in:
parent
8e9c2721ef
commit
b5abe4b751
@ -9391,6 +9391,16 @@ std::pair<DialogId, unique_ptr<MessagesManager::Message>> MessagesManager::creat
|
||||
<< ", flags = " << flags << " for " << message_id << " in " << dialog_id;
|
||||
// }
|
||||
is_outgoing = !is_outgoing;
|
||||
|
||||
if (dialog_type == DialogType::Channel && !running_get_difference_ && !running_get_channel_difference(dialog_id) &&
|
||||
get_channel_difference_to_logevent_id_.count(dialog_id) == 0) {
|
||||
// it is safer to completely ignore the message and re-get it through getChannelsDifference
|
||||
Dialog *d = get_dialog(dialog_id);
|
||||
if (d != nullptr) {
|
||||
get_channel_difference(dialog_id, d->pts, true, "create_message");
|
||||
return {DialogId(), nullptr};
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
MessageId reply_to_message_id = message_info.reply_to_message_id;
|
||||
|
Loading…
Reference in New Issue
Block a user