forked from srxl/akkoma-fe
#392: stale data served to new user account
This commit is contained in:
parent
24f3770fb5
commit
ba2e05bc63
3 changed files with 18 additions and 4 deletions
|
@ -11,7 +11,8 @@ const Notifications = {
|
||||||
const store = this.$store
|
const store = this.$store
|
||||||
const credentials = store.state.users.currentUser.credentials
|
const credentials = store.state.users.currentUser.credentials
|
||||||
|
|
||||||
notificationsFetcher.startFetching({ store, credentials })
|
const fetcherId = notificationsFetcher.startFetching({ store, credentials })
|
||||||
|
this.$store.commit('setNotificationFetcher', { fetcherId })
|
||||||
},
|
},
|
||||||
data () {
|
data () {
|
||||||
return {
|
return {
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
import { remove, slice, each, find, maxBy, minBy, merge, last, isArray } from 'lodash'
|
import { remove, slice, each, find, maxBy, minBy, merge, last, isArray, cloneDeep } from 'lodash'
|
||||||
import apiService from '../services/api/api.service.js'
|
import apiService from '../services/api/api.service.js'
|
||||||
// import parse from '../services/status_parser/status_parser.js'
|
// import parse from '../services/status_parser/status_parser.js'
|
||||||
|
|
||||||
|
@ -29,7 +29,8 @@ export const defaultState = {
|
||||||
data: [],
|
data: [],
|
||||||
idStore: {},
|
idStore: {},
|
||||||
loading: false,
|
loading: false,
|
||||||
error: false
|
error: false,
|
||||||
|
fetcherId: null
|
||||||
},
|
},
|
||||||
favorites: new Set(),
|
favorites: new Set(),
|
||||||
error: false,
|
error: false,
|
||||||
|
@ -321,6 +322,14 @@ export const mutations = {
|
||||||
oldTimeline.visibleStatusesObject = {}
|
oldTimeline.visibleStatusesObject = {}
|
||||||
each(oldTimeline.visibleStatuses, (status) => { oldTimeline.visibleStatusesObject[status.id] = status })
|
each(oldTimeline.visibleStatuses, (status) => { oldTimeline.visibleStatusesObject[status.id] = status })
|
||||||
},
|
},
|
||||||
|
setNotificationFetcher (state, { fetcherId }) {
|
||||||
|
state.notifications.fetcherId = fetcherId
|
||||||
|
},
|
||||||
|
resetStatuses (state) {
|
||||||
|
Object.keys(state).forEach(key => {
|
||||||
|
state[key] = cloneDeep(defaultState[key])
|
||||||
|
})
|
||||||
|
},
|
||||||
clearTimeline (state, { timeline }) {
|
clearTimeline (state, { timeline }) {
|
||||||
state.timelines[timeline] = emptyTl(state.timelines[timeline].userId)
|
state.timelines[timeline] = emptyTl(state.timelines[timeline].userId)
|
||||||
},
|
},
|
||||||
|
@ -371,7 +380,7 @@ export const mutations = {
|
||||||
}
|
}
|
||||||
|
|
||||||
const statuses = {
|
const statuses = {
|
||||||
state: defaultState,
|
state: cloneDeep(defaultState),
|
||||||
actions: {
|
actions: {
|
||||||
addNewStatuses ({ rootState, commit }, { statuses, showImmediately = false, timeline = false, noIdUpdate = false, userId }) {
|
addNewStatuses ({ rootState, commit }, { statuses, showImmediately = false, timeline = false, noIdUpdate = false, userId }) {
|
||||||
commit('addNewStatuses', { statuses, showImmediately, timeline, noIdUpdate, user: rootState.users.currentUser, userId })
|
commit('addNewStatuses', { statuses, showImmediately, timeline, noIdUpdate, user: rootState.users.currentUser, userId })
|
||||||
|
|
|
@ -290,6 +290,10 @@ const users = {
|
||||||
store.commit('setToken', false)
|
store.commit('setToken', false)
|
||||||
store.dispatch('stopFetching', 'friends')
|
store.dispatch('stopFetching', 'friends')
|
||||||
store.commit('setBackendInteractor', backendInteractorService())
|
store.commit('setBackendInteractor', backendInteractorService())
|
||||||
|
if (store.rootState.statuses.notifications.fetcherId) {
|
||||||
|
window.clearInterval(store.rootState.statuses.notifications.fetcherId)
|
||||||
|
}
|
||||||
|
store.commit('resetStatuses')
|
||||||
},
|
},
|
||||||
loginUser (store, accessToken) {
|
loginUser (store, accessToken) {
|
||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
|
|
Loading…
Reference in a new issue