diff --git a/src/lib/components/workspace/Knowledge/KnowledgeBase.svelte b/src/lib/components/workspace/Knowledge/KnowledgeBase.svelte index de04f3e930..03fdaccecf 100644 --- a/src/lib/components/workspace/Knowledge/KnowledgeBase.svelte +++ b/src/lib/components/workspace/Knowledge/KnowledgeBase.svelte @@ -500,7 +500,7 @@ if (error.name === 'AbortError') { toast.info($i18n.t('Directory selection was cancelled')); } else { - toast.error($i18n.t('Error accessing directory')); + toast.error(`${$i18n.t('Error accessing directory')}: ${error.message}`); console.error('Directory access error:', error); } }; @@ -521,7 +521,12 @@ if (hasHiddenFolder(entryPath)) continue; if (entry.kind === 'file') { - const file = await entry.getFile(); + let file: File; + try { + file = await entry.getFile(); + } catch (error) { + throw new Error(`"${entryPath}": ${error}`); + } collected.push({ path: dirPath, filename: entry.name, file }); } else if (entry.kind === 'directory') { await traverse(entry, entryPath); @@ -1021,9 +1026,14 @@ } if (entry.isFile) { - const file = await new Promise((resolve, reject) => { - entry.file(resolve, reject); - }); + let file: File; + try { + file = await new Promise((resolve, reject) => { + entry.file(resolve, reject); + }); + } catch (error) { + throw new Error(`"${entryPath}": ${error}`); + } const parts = entryPath.split('/'); const filename = parts.pop() || file.name; return [{ path: parts.join('/'), filename, file }];