Timothy Jaeryang Baek 2 weeks ago
parent
commit
51fe33395b
1 changed files with 7 additions and 1 deletions
  1. 7 1
      src/lib/components/common/CodeEditor.svelte

+ 7 - 1
src/lib/components/common/CodeEditor.svelte

@@ -11,7 +11,7 @@
 
 	import { oneDark } from '@codemirror/theme-one-dark';
 
-	import { onMount, createEventDispatcher, getContext, tick } from 'svelte';
+	import { onMount, createEventDispatcher, getContext, tick, onDestroy } from 'svelte';
 
 	import PyodideWorker from '$lib/workers/pyodide.worker?worker';
 
@@ -312,6 +312,12 @@ print(black.format_str("""${code.replace(/\\/g, '\\\\').replace(/`/g, '\\`').rep
 			document.removeEventListener('keydown', keydownHandler);
 		};
 	});
+
+	onDestroy(() => {
+		if (pyodideWorkerInstance) {
+			pyodideWorkerInstance.terminate();
+		}
+	});
 </script>
 
 <div id="code-textarea-{id}" class="h-full w-full text-sm" />