diff --git a/src/lib/components/common/RichTextInput.svelte b/src/lib/components/common/RichTextInput.svelte index b9dd058553..0724b3279b 100644 --- a/src/lib/components/common/RichTextInput.svelte +++ b/src/lib/components/common/RichTextInput.svelte @@ -1217,11 +1217,9 @@ } else { if (value !== mdValue) { editor.commands.setContent( - preserveBreaks - ? value - : marked.parse(value.replaceAll(`\n
`, `
`), { - breaks: false - }) + marked.parse(value.replaceAll(`\n
`, `
`), { + breaks: false + }) ); selectTemplate(); diff --git a/src/lib/components/workspace/Knowledge/KnowledgeBase.svelte b/src/lib/components/workspace/Knowledge/KnowledgeBase.svelte index 999808690d..e7c3c40070 100644 --- a/src/lib/components/workspace/Knowledge/KnowledgeBase.svelte +++ b/src/lib/components/workspace/Knowledge/KnowledgeBase.svelte @@ -171,14 +171,18 @@ const fileSelectHandler = async (file) => { try { - selectedFile = file; - const rawContent = selectedFile?.data?.content || ''; + const rawContent = file?.data?.content || ''; - // Normalize single newlines to paragraph breaks (double newlines) so the - // rich text editor's markdown parser preserves them. Without this, single - // newlines get collapsed into spaces during markdown parsing (breaks: false). - // Existing double+ newlines (paragraph breaks) are left unchanged. - selectedFileContent = rawContent.replace(/(?