From 9b3fbf6864a6a1d0337f3dbad6d97d3923fadcf6 Mon Sep 17 00:00:00 2001 From: Silberengel Date: Fri, 6 Feb 2026 18:48:38 +0100 Subject: [PATCH] bug-fix for editor --- src/lib/components/write/AdvancedEditor.svelte | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/src/lib/components/write/AdvancedEditor.svelte b/src/lib/components/write/AdvancedEditor.svelte index a94ea4e..d999cf7 100644 --- a/src/lib/components/write/AdvancedEditor.svelte +++ b/src/lib/components/write/AdvancedEditor.svelte @@ -31,6 +31,7 @@ let editorView: EditorView | null = $state(null); let isDark = $state(false); let initialized = $state(false); + let originalValue = $state(''); // Store original value to restore on cancel // Toolbar state let showGifPicker = $state(false); @@ -49,6 +50,9 @@ // Check for dark mode preference onMount(() => { + // Store original value when editor opens + originalValue = value; + if (initialized || !editorContainer) return; const checkDarkMode = () => { @@ -84,12 +88,7 @@ ...completionKeymap ]), language, - EditorView.updateListener.of((update) => { - if (update.docChanged && onUpdate) { - const newValue = update.state.doc.toString(); - onUpdate(newValue); - } - }), + // Removed real-time update listener - only update on Save EditorView.theme({ '&': { fontSize: '14px', @@ -163,6 +162,10 @@ } function handleCancel() { + // Restore original value before closing + if (onUpdate && originalValue !== undefined) { + onUpdate(originalValue); + } if (onClose) { onClose(); }