diff --git a/src/stores/fetchers/timeline_fetcher.js b/src/stores/fetchers/timeline_fetcher.js index 494377b94..7fae0800d 100644 --- a/src/stores/fetchers/timeline_fetcher.js +++ b/src/stores/fetchers/timeline_fetcher.js @@ -52,7 +52,11 @@ const timelineFetcher = (timeline, argument, credentials) => { const numStatusesBeforeFetch = timeline.statusIds.size - if (older && bottomedOut.value) return + if (older && bottomedOut.value) { + loadingOlder.value = false + return + } + return fetchTimeline(args) .then(({ data, pagination, timestamp }) => { // No statuses for timeline, ever. @@ -135,6 +139,9 @@ const timelineFetcher = (timeline, argument, credentials) => { loadingOlder, loadingNewer, bottomedOut, + resetBottomedOut: () => { + bottomedOut.value = false + }, } } diff --git a/src/stores/timelines.js b/src/stores/timelines.js index 71ecc73cc..e47da2119 100644 --- a/src/stores/timelines.js +++ b/src/stores/timelines.js @@ -196,6 +196,7 @@ export const useTimelinesStore = defineStore('timelines', { timeline.maxId = '' timeline.minId = '' timeline.reloadNeeded = false + timeline.fetcher.resetBottomedOut() }, activatePersistents() { TIMELINES.forEach((name) => { @@ -443,6 +444,7 @@ export const useTimelinesStore = defineStore('timelines', { ...timeline.order.filter((id) => !timeline.ignoredIds.has(id)), ]) this.updateTimelineExtremes(timeline, {}, true) + timeline.fetcher.resetBottomedOut() }, syncOrder(timeline) { timeline.order = timeline.order.filter((id) => timeline.statusIds.has(id))