Fix loading of saved sublist histories.

This commit is contained in:
John Preston 2023-12-30 19:04:24 +04:00
parent 878b4bb5af
commit 634687881a
2 changed files with 12 additions and 3 deletions

View File

@ -182,6 +182,7 @@ void SavedMessages::loadMore(not_null<SavedSublist*> sublist) {
sublist->setFullLoaded();
_loadMoreRequests.remove(sublist);
}).send();
_loadMoreRequests[sublist] = requestId;
}
} // namespace Data

View File

@ -134,12 +134,20 @@ void SavedSublist::append(
_fullCount = fullCount;
if (items.empty()) {
setFullLoaded();
} else if (!_items.empty()) {
} else if (_items.empty()) {
_items = std::move(items);
setChatListTimeId(_items.front()->date());
_changed.fire({});
} else if (_items.back()->id > items.front()->id) {
_items.insert(end(_items), begin(items), end(items));
_changed.fire({});
} else {
_items = std::move(items);
setChatListTimeId(_items.front()->date());
_items.insert(end(_items), begin(items), end(items));
ranges::stable_sort(
_items,
ranges::greater(),
&HistoryItem::id);
ranges::unique(_items, ranges::greater(), &HistoryItem::id);
_changed.fire({});
}
}