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 @@ + +