From c5236b258782140a041f0e2a502fa0540900d0d0 Mon Sep 17 00:00:00 2001 From: Julien Calixte Date: Sat, 16 May 2026 23:31:42 +0200 Subject: [PATCH] fix(offline): don't abort cache loop on a single fetch failure A single null from queryFileContent silently exited cacheAllNotes, leaving every later note uncached while the success toast still fired. Skip the failing file, count failures, and surface them via errorMessage. --- src/hooks/useOfflineNotes.hook.ts | 8 ++++++-- src/modules/note/components/CacheAllNote.vue | 12 +++++++++--- 2 files changed, 15 insertions(+), 5 deletions(-) diff --git a/src/hooks/useOfflineNotes.hook.ts b/src/hooks/useOfflineNotes.hook.ts index 9c1b25f..2f58f0a 100644 --- a/src/hooks/useOfflineNotes.hook.ts +++ b/src/hooks/useOfflineNotes.hook.ts @@ -13,6 +13,7 @@ export const useOfflineNotes = () => { const totalOfNotes = computed(() => store.files.length) const noteCompleted = ref(0) + const failedNotes = ref(0) const cacheAllNotes = async () => { const isInitialized = store.user && store.repo && totalOfNotes.value > 0 @@ -30,6 +31,7 @@ export const useOfflineNotes = () => { const cachedNotesSet = new Set(cachedNotesFromSha.map((note) => note._id)) noteCompleted.value = 0 + failedNotes.value = 0 for (const file of store.files) { noteCompleted.value++ @@ -50,7 +52,8 @@ export const useOfflineNotes = () => { ) if (!contentFile) { - return null + failedNotes.value++ + continue } saveCacheNote(contentFile) @@ -64,6 +67,7 @@ export const useOfflineNotes = () => { cacheAllNotes: execute, isLoading, totalOfNotes, - noteCompleted + noteCompleted, + failedNotes } } diff --git a/src/modules/note/components/CacheAllNote.vue b/src/modules/note/components/CacheAllNote.vue index 1b7246a..9cb94ac 100644 --- a/src/modules/note/components/CacheAllNote.vue +++ b/src/modules/note/components/CacheAllNote.vue @@ -1,14 +1,20 @@