forked from treehouse/mastodon
Filter out duplicate IDs in timelines reducer (#5417)
Possibly the cause of #5379, #5377signup-info-prompt
parent
6f490b4bfe
commit
aec70b44fc
|
@ -31,10 +31,10 @@ const initialTimeline = ImmutableMap({
|
||||||
});
|
});
|
||||||
|
|
||||||
const normalizeTimeline = (state, timeline, statuses, next) => {
|
const normalizeTimeline = (state, timeline, statuses, next) => {
|
||||||
const ids = ImmutableList(statuses.map(status => status.get('id')));
|
const oldIds = state.getIn([timeline, 'items'], ImmutableList());
|
||||||
|
const ids = ImmutableList(statuses.map(status => status.get('id'))).filter(newId => !oldIds.includes(newId));
|
||||||
const wasLoaded = state.getIn([timeline, 'loaded']);
|
const wasLoaded = state.getIn([timeline, 'loaded']);
|
||||||
const hadNext = state.getIn([timeline, 'next']);
|
const hadNext = state.getIn([timeline, 'next']);
|
||||||
const oldIds = state.getIn([timeline, 'items'], ImmutableList());
|
|
||||||
|
|
||||||
return state.update(timeline, initialTimeline, map => map.withMutations(mMap => {
|
return state.update(timeline, initialTimeline, map => map.withMutations(mMap => {
|
||||||
mMap.set('loaded', true);
|
mMap.set('loaded', true);
|
||||||
|
@ -45,8 +45,8 @@ const normalizeTimeline = (state, timeline, statuses, next) => {
|
||||||
};
|
};
|
||||||
|
|
||||||
const appendNormalizedTimeline = (state, timeline, statuses, next) => {
|
const appendNormalizedTimeline = (state, timeline, statuses, next) => {
|
||||||
const ids = ImmutableList(statuses.map(status => status.get('id')));
|
|
||||||
const oldIds = state.getIn([timeline, 'items'], ImmutableList());
|
const oldIds = state.getIn([timeline, 'items'], ImmutableList());
|
||||||
|
const ids = ImmutableList(statuses.map(status => status.get('id'))).filter(newId => !oldIds.includes(newId));
|
||||||
|
|
||||||
return state.update(timeline, initialTimeline, map => map.withMutations(mMap => {
|
return state.update(timeline, initialTimeline, map => map.withMutations(mMap => {
|
||||||
mMap.set('isLoading', false);
|
mMap.set('isLoading', false);
|
||||||
|
|
Loading…
Reference in New Issue