Improve reading chat history.
GitOrigin-RevId: 82e2fc0ca2cbf1c59507fb74120732433ac15603
This commit is contained in:
parent
9862652e14
commit
dafbedaefe
@ -15002,8 +15002,6 @@ Status MessagesManager::view_messages(DialogId dialog_id, const vector<MessageId
|
|||||||
if (need_read && max_message_id > d->last_read_inbox_message_id) {
|
if (need_read && max_message_id > d->last_read_inbox_message_id) {
|
||||||
MessageId last_read_message_id = max_message_id;
|
MessageId last_read_message_id = max_message_id;
|
||||||
MessageId prev_last_read_inbox_message_id = d->last_read_inbox_message_id;
|
MessageId prev_last_read_inbox_message_id = d->last_read_inbox_message_id;
|
||||||
read_history_inbox(d->dialog_id, last_read_message_id, -1, "view_messages");
|
|
||||||
|
|
||||||
if (dialog_id.get_type() != DialogType::SecretChat) {
|
if (dialog_id.get_type() != DialogType::SecretChat) {
|
||||||
if (last_read_message_id.get_prev_server_message_id().get() >
|
if (last_read_message_id.get_prev_server_message_id().get() >
|
||||||
prev_last_read_inbox_message_id.get_prev_server_message_id().get()) {
|
prev_last_read_inbox_message_id.get_prev_server_message_id().get()) {
|
||||||
@ -15014,6 +15012,8 @@ Status MessagesManager::view_messages(DialogId dialog_id, const vector<MessageId
|
|||||||
read_history_on_server(d, last_read_message_id);
|
read_history_on_server(d, last_read_message_id);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
// read history on server after sending server request to not repair unread_count early
|
||||||
|
read_history_inbox(d->dialog_id, last_read_message_id, -1, "view_messages");
|
||||||
}
|
}
|
||||||
if (need_read && d->is_marked_as_unread) {
|
if (need_read && d->is_marked_as_unread) {
|
||||||
set_dialog_is_marked_as_unread(d, false);
|
set_dialog_is_marked_as_unread(d, false);
|
||||||
|
@ -432,7 +432,7 @@ class CliClient final : public Actor {
|
|||||||
static char get_delimiter(Slice str) {
|
static char get_delimiter(Slice str) {
|
||||||
std::unordered_set<char> chars;
|
std::unordered_set<char> chars;
|
||||||
for (auto c : trim(str)) {
|
for (auto c : trim(str)) {
|
||||||
if (c < '0' || c > '9') {
|
if (!is_alnum(c)) {
|
||||||
chars.insert(c);
|
chars.insert(c);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user