forked from srxl/akkoma-fe
Fetch activites by last id
This commit is contained in:
parent
d5348c13ff
commit
9aec49bacb
2 changed files with 11 additions and 10 deletions
|
@ -10,6 +10,7 @@ const emptyTl = (userId = 0) => ({
|
|||
visibleStatusesObject: {},
|
||||
newStatusCount: 0,
|
||||
maxId: 0,
|
||||
minId: 0,
|
||||
minVisibleId: 0,
|
||||
loading: false,
|
||||
followers: [],
|
||||
|
@ -117,11 +118,16 @@ const addNewStatuses = (state, { statuses, showImmediately = false, timeline, us
|
|||
const timelineObject = state.timelines[timeline]
|
||||
|
||||
const maxNew = statuses.length > 0 ? maxBy(statuses, 'id').id : 0
|
||||
const older = timeline && maxNew < timelineObject.maxId
|
||||
const minNew = statuses.length > 0 ? minBy(statuses, 'id').id : 0
|
||||
const newer = timeline && maxNew > timelineObject.maxId && statuses.length > 0
|
||||
const older = timeline && (minNew < timelineObject.minId || timelineObject.minId === 0) && statuses.length > 0
|
||||
|
||||
if (timeline && !noIdUpdate && statuses.length > 0 && !older) {
|
||||
if (!noIdUpdate && newer) {
|
||||
timelineObject.maxId = maxNew
|
||||
}
|
||||
if (!noIdUpdate && older) {
|
||||
timelineObject.minId = minNew
|
||||
}
|
||||
|
||||
// This makes sure that user timeline won't get data meant for other
|
||||
// user. I.e. opening different user profiles makes request which could
|
||||
|
@ -255,13 +261,8 @@ const addNewStatuses = (state, { statuses, showImmediately = false, timeline, us
|
|||
processor(status)
|
||||
})
|
||||
|
||||
// Keep the visible statuses sorted
|
||||
if (timeline) {
|
||||
sortTimeline(timelineObject)
|
||||
if ((older || timelineObject.minVisibleId <= 0) && statuses.length > 0) {
|
||||
timelineObject.minVisibleId = minBy(statuses, 'id').id
|
||||
}
|
||||
}
|
||||
// Keep the visible statuses sorted
|
||||
if (timeline) sortTimeline(timelineObject)
|
||||
}
|
||||
|
||||
const addNewNotifications = (state, { dispatch, notifications, older, visibleNotificationTypes }) => {
|
||||
|
|
|
@ -21,7 +21,7 @@ const fetchAndUpdate = ({store, credentials, timeline = 'friends', older = false
|
|||
const timelineData = rootState.statuses.timelines[camelCase(timeline)]
|
||||
|
||||
if (older) {
|
||||
args['until'] = until || timelineData.minVisibleId
|
||||
args['until'] = until || timelineData.minId
|
||||
} else {
|
||||
args['since'] = timelineData.maxId
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue