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(); sublist->setFullLoaded();
_loadMoreRequests.remove(sublist); _loadMoreRequests.remove(sublist);
}).send(); }).send();
_loadMoreRequests[sublist] = requestId;
} }
} // namespace Data } // namespace Data

View File

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