fixed few-posts TLs when streaming is enabled
This commit is contained in:
parent
48bef143d8
commit
9a8bc245a6
7 changed files with 37 additions and 11 deletions
src/services
backend_interactor_service
notifications_fetcher
timeline_fetcher
|
@ -1,17 +1,25 @@
|
|||
import apiService, { getMastodonSocketURI, ProcessedWS } from '../api/api.service.js'
|
||||
import timelineFetcherService from '../timeline_fetcher/timeline_fetcher.service.js'
|
||||
import timelineFetcher from '../timeline_fetcher/timeline_fetcher.service.js'
|
||||
import notificationsFetcher from '../notifications_fetcher/notifications_fetcher.service.js'
|
||||
import followRequestFetcher from '../../services/follow_request_fetcher/follow_request_fetcher.service'
|
||||
|
||||
const backendInteractorService = credentials => ({
|
||||
startFetchingTimeline ({ timeline, store, userId = false, tag }) {
|
||||
return timelineFetcherService.startFetching({ timeline, store, credentials, userId, tag })
|
||||
return timelineFetcher.startFetching({ timeline, store, credentials, userId, tag })
|
||||
},
|
||||
|
||||
fetchTimeline (args) {
|
||||
return timelineFetcher.fetchAndUpdate({ ...args, credentials })
|
||||
},
|
||||
|
||||
startFetchingNotifications ({ store }) {
|
||||
return notificationsFetcher.startFetching({ store, credentials })
|
||||
},
|
||||
|
||||
fetchNotifications (args) {
|
||||
return notificationsFetcher.fetchAndUpdate({ ...args, credentials })
|
||||
},
|
||||
|
||||
startFetchingFollowRequests ({ store }) {
|
||||
return followRequestFetcher.startFetching({ store, credentials })
|
||||
},
|
||||
|
|
|
@ -5,7 +5,7 @@ const update = ({ store, notifications, older }) => {
|
|||
store.dispatch('addNewNotifications', { notifications, older })
|
||||
}
|
||||
|
||||
const fetchAndUpdate = ({ store, credentials, older = false }) => {
|
||||
const fetchAndUpdate = ({ store, credentials, older = false, since }) => {
|
||||
const args = { credentials }
|
||||
const { getters } = store
|
||||
const rootState = store.rootState || store.state
|
||||
|
@ -22,8 +22,10 @@ const fetchAndUpdate = ({ store, credentials, older = false }) => {
|
|||
return fetchNotifications({ store, args, older })
|
||||
} else {
|
||||
// fetch new notifications
|
||||
if (timelineData.maxId !== Number.POSITIVE_INFINITY) {
|
||||
if (since === undefined && timelineData.maxId !== Number.POSITIVE_INFINITY) {
|
||||
args['since'] = timelineData.maxId
|
||||
} else if (since !== null) {
|
||||
args['since'] = since
|
||||
}
|
||||
const result = fetchNotifications({ store, args, older })
|
||||
|
||||
|
|
|
@ -23,7 +23,8 @@ const fetchAndUpdate = ({
|
|||
showImmediately = false,
|
||||
userId = false,
|
||||
tag = false,
|
||||
until
|
||||
until,
|
||||
since
|
||||
}) => {
|
||||
const args = { timeline, credentials }
|
||||
const rootState = store.rootState || store.state
|
||||
|
@ -35,7 +36,11 @@ const fetchAndUpdate = ({
|
|||
if (older) {
|
||||
args['until'] = until || timelineData.minId
|
||||
} else {
|
||||
args['since'] = timelineData.maxId
|
||||
if (since === undefined) {
|
||||
args['since'] = timelineData.maxId
|
||||
} else if (since !== null) {
|
||||
args['since'] = since
|
||||
}
|
||||
}
|
||||
|
||||
args['userId'] = userId
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue