Fix loading of saved sublist histories.
This commit is contained in:
parent
878b4bb5af
commit
634687881a
|
@ -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
|
||||||
|
|
|
@ -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({});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue