Change 403 messaging

This commit is contained in:
Wyatt Benno 2019-12-05 11:48:37 +09:00
commit 13fc2612ae
6 changed files with 45 additions and 6 deletions

View file

@ -532,13 +532,19 @@ const fetchTimeline = ({
return fetch(url, { headers: authHeaders(credentials) })
.then((data) => {
if (data.ok) {
if (data.ok || data.status === 403) {
return data
}
throw new Error('Error fetching timeline', data)
})
.then((data) => data.json())
.then((data) => data.map(isNotifications ? parseNotification : parseStatus))
.then((data) => {
if (!data.error) {
return data.map(isNotifications ? parseNotification : parseStatus)
} else {
return data
}
})
}
const fetchPinnedStatuses = ({ id, credentials }) => {

View file

@ -6,6 +6,7 @@ const update = ({ store, statuses, timeline, showImmediately, userId }) => {
const ccTimeline = camelCase(timeline)
store.dispatch('setError', { value: false })
store.dispatch('set403Error', { value: false })
store.dispatch('addNewStatuses', {
timeline: ccTimeline,
@ -45,6 +46,11 @@ const fetchAndUpdate = ({
return apiService.fetchTimeline(args)
.then((statuses) => {
// Change messaging if not public
if (statuses.error) {
store.dispatch('set403Error', { value: true })
return
}
if (!older && statuses.length >= 20 && !timelineData.loading && numStatusesBeforeFetch > 0) {
store.dispatch('queueFlush', { timeline: timeline, id: timelineData.maxId })
}