diff --git a/src/lib/components/workspace/Knowledge/KnowledgeBase/FileViewer.svelte b/src/lib/components/workspace/Knowledge/KnowledgeBase/FileViewer.svelte index 18fc7a732c..d88dc40e2f 100644 --- a/src/lib/components/workspace/Knowledge/KnowledgeBase/FileViewer.svelte +++ b/src/lib/components/workspace/Knowledge/KnowledgeBase/FileViewer.svelte @@ -74,7 +74,11 @@ try { const content = await getFileIndexedText(localStorage.token, file.id!, signal); if (!signal.aborted) - state = { ...state, indexed: content, draft: state.editing ? state.draft : content }; + state = { + ...state, + indexed: content, + draft: state.editing && state.indexed !== null ? state.draft : content + }; } catch (error) { if (!signal.aborted) indexedError = message(error); } finally { @@ -184,7 +188,7 @@ } }; const save = async () => { - if (!writeAccess || saving || !state.editing) return; + if (!writeAccess || saving || !state.editing || state.indexed === null) return; state.draft = indexedEditor?.getValue() ?? state.draft; saving = true; try { @@ -230,19 +234,19 @@ aria-pressed={state.mode === 'indexed'} on:click={() => (state.mode = 'indexed')}>{$i18n.t('Indexed text')} - {#if state.mode === 'indexed' && state.indexed !== null && writeAccess} + {#if writeAccess} {#if state.editing}