diff --git a/frontend/src/lib/components/Editor.svelte b/frontend/src/lib/components/Editor.svelte
index 02b7f4170b..aa1aa5f0b0 100644
--- a/frontend/src/lib/components/Editor.svelte
+++ b/frontend/src/lib/components/Editor.svelte
@@ -115,7 +115,7 @@
import { workspaceStore } from '$lib/stores'
import { type Preview, ResourceService, UserService } from '$lib/gen'
import type { Text } from 'yjs'
- import { initializeVscode } from '$lib/components/vscode'
+ import { initializeVscode, keepModelAroundToAvoidDisposalOfWorkers } from '$lib/components/vscode'
import { initializeMode } from 'monaco-graphql/esm/initializeMode.js'
import type { MonacoGraphQLAPI } from 'monaco-graphql/esm/api.js'
@@ -1266,6 +1266,8 @@
folding
})
+ keepModelAroundToAvoidDisposalOfWorkers()
+
// updateEditorKeybindingsMode(editor, 'vim', undefined)
let ataModel: NodeJS.Timeout | undefined = undefined
@@ -1355,6 +1357,7 @@
try {
closeWebsockets()
vimDisposable?.dispose()
+ console.log('disposing editor', editor, model)
model?.dispose()
editor && editor.dispose()
console.log('disposed editor')
diff --git a/frontend/src/lib/components/SimpleEditor.svelte b/frontend/src/lib/components/SimpleEditor.svelte
index 984b05564a..d3c498054d 100644
--- a/frontend/src/lib/components/SimpleEditor.svelte
+++ b/frontend/src/lib/components/SimpleEditor.svelte
@@ -7,6 +7,16 @@
import '@codingame/monaco-vscode-standalone-css-language-features'
import '@codingame/monaco-vscode-standalone-typescript-language-features'
import '@codingame/monaco-vscode-standalone-html-language-features'
+ import {
+ editor as meditor,
+ KeyCode,
+ KeyMod,
+ Uri as mUri,
+ languages,
+ type IRange,
+ type IDisposable
+ } from 'monaco-editor'
+
languages.typescript.javascriptDefaults.setCompilerOptions({
target: languages.typescript.ScriptTarget.Latest,
allowNonTsExtensions: true,
@@ -44,15 +54,15 @@
import { BROWSER } from 'esm-env'
import { createHash, editorConfig, langToExt, updateOptions } from '$lib/editorUtils'
- import {
- editor as meditor,
- KeyCode,
- KeyMod,
- Uri as mUri,
- languages,
- type IRange,
- type IDisposable
- } from 'monaco-editor'
+ // import {
+ // editor as meditor,
+ // KeyCode,
+ // KeyMod,
+ // Uri as mUri,
+ // languages,
+ // type IRange,
+ // type IDisposable
+ // } from 'monaco-editor'
import { allClasses } from './apps/editor/componentsPanel/cssUtils'
@@ -60,7 +70,7 @@
import libStdContent from '$lib/es6.d.ts.txt?raw'
import domContent from '$lib/dom.d.ts.txt?raw'
- import { initializeVscode } from './vscode'
+ import { initializeVscode, keepModelAroundToAvoidDisposalOfWorkers } from './vscode'
import EditorTheme from './EditorTheme.svelte'
import { vimMode } from '$lib/stores'
import { initVim } from './monaco_keybindings'
@@ -348,6 +358,7 @@
snippetsPreventQuickSuggestions: disableSuggestions
}
})
+ keepModelAroundToAvoidDisposalOfWorkers()
let timeoutModel: NodeJS.Timeout | undefined = undefined
editor.onDidChangeModelContent((event) => {
diff --git a/frontend/src/lib/components/TemplateEditor.svelte b/frontend/src/lib/components/TemplateEditor.svelte
index 941c72fc74..22d3fc6776 100644
--- a/frontend/src/lib/components/TemplateEditor.svelte
+++ b/frontend/src/lib/components/TemplateEditor.svelte
@@ -1,3 +1,21 @@
+
+