diff --git a/frontend/src/lib/components/Editor.svelte b/frontend/src/lib/components/Editor.svelte index 26b9557e19..9283a0c721 100644 --- a/frontend/src/lib/components/Editor.svelte +++ b/frontend/src/lib/components/Editor.svelte @@ -431,6 +431,7 @@ return () => { try { closeWebsockets() + model.dispose() editor && editor.dispose() } catch (err) { console.log('error disposing editor', err) diff --git a/frontend/src/lib/components/SimpleEditor.svelte b/frontend/src/lib/components/SimpleEditor.svelte index 2a69152bb0..bd22e9e366 100644 --- a/frontend/src/lib/components/SimpleEditor.svelte +++ b/frontend/src/lib/components/SimpleEditor.svelte @@ -29,6 +29,7 @@ let divEl: HTMLDivElement | null = null let editor: monaco.editor.IStandaloneCodeEditor + let model: monaco.editor.ITextModel export let lang: string export let code: string = '' @@ -96,7 +97,7 @@ } async function loadMonaco() { - const model = monaco.editor.createModel(code, lang, monaco.Uri.parse(uri)) + model = monaco.editor.createModel(code, lang, monaco.Uri.parse(uri)) model.updateOptions(updateOptions) @@ -150,6 +151,7 @@ onDestroy(() => { try { + model && model.dispose() editor && editor.dispose() } catch (err) {} })