From a24883461a84ecad8a98fdf6f437448f74291bfd Mon Sep 17 00:00:00 2001 From: Eric <5089238+emizzle@users.noreply.github.com> Date: Thu, 20 Jun 2024 17:03:28 +1000 Subject: [PATCH] 404 fixes - 404 doesn't pollute state in localStorage - fix js errors on request details page when request not found --- src/stores/requests.js | 8 +++++--- src/views/RequestView.vue | 4 ++-- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/src/stores/requests.js b/src/stores/requests.js index b509ea3..038158a 100644 --- a/src/stores/requests.js +++ b/src/stores/requests.js @@ -205,10 +205,12 @@ export const useRequestsStore = defineStore( detailsLoading: false } } catch (error) { - console.error(`failed to load slots for request ${requestId}: ${error}`) + if (error.message.includes('Unknown request')) { + delete requests.value[requestId] + } else { + console.error(`failed to load slots for request ${requestId}: ${error}`) + } throw error - } finally { - requests.value[requestId].detailsLoading = false } } diff --git a/src/views/RequestView.vue b/src/views/RequestView.vue index fa6e029..4b58bbf 100644 --- a/src/views/RequestView.vue +++ b/src/views/RequestView.vue @@ -26,7 +26,7 @@ async function fetchRequest(requestId) { } const request = computed(() => requests.value[route.params.requestId]) -const detailsLoading = computed(() => requests.value[route.params.requestId].detailsLoading) +const detailsLoading = computed(() => requests.value[route.params.requestId]?.detailsLoading) watch(() => route.params.requestId, fetchRequest, { immediate: true }) @@ -35,7 +35,7 @@ watch(() => route.params.requestId, fetchRequest, { immediate: true })