|
|
|
@ -35,14 +35,12 @@ const expandNormalizedTimeline = (state, timeline, statuses, next, isPartial, is
|
|
|
|
|
|
|
|
|
|
if (!next && !isLoadingRecent) mMap.set('hasMore', false);
|
|
|
|
|
|
|
|
|
|
if (!statuses.isEmpty()) {
|
|
|
|
|
if (timeline.endsWith(':pinned')) {
|
|
|
|
|
mMap.set('items', statuses.map(status => status.get('id')));
|
|
|
|
|
} else if (!statuses.isEmpty()) {
|
|
|
|
|
mMap.update('items', ImmutableList(), oldIds => {
|
|
|
|
|
const newIds = statuses.map(status => status.get('id'));
|
|
|
|
|
|
|
|
|
|
if (timeline.indexOf(':pinned') !== -1) {
|
|
|
|
|
return newIds;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
const lastIndex = oldIds.findLastIndex(id => id !== null && compareId(id, newIds.last()) >= 0) + 1;
|
|
|
|
|
const firstIndex = oldIds.take(lastIndex).findLastIndex(id => id !== null && compareId(id, newIds.first()) > 0);
|
|
|
|
|
|
|
|
|
|