From a22d1d54104e72d30af4be65f4800b1ea7ba078a Mon Sep 17 00:00:00 2001 From: Timothy Jaeryang Baek Date: Sun, 9 Feb 2025 22:43:32 -0800 Subject: [PATCH] refac: code block --- .../components/chat/Messages/CodeBlock.svelte | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/src/lib/components/chat/Messages/CodeBlock.svelte b/src/lib/components/chat/Messages/CodeBlock.svelte index f4efaba73..7a17ee607 100644 --- a/src/lib/components/chat/Messages/CodeBlock.svelte +++ b/src/lib/components/chat/Messages/CodeBlock.svelte @@ -5,7 +5,14 @@ import { v4 as uuidv4 } from 'uuid'; - import { getContext, getAllContexts, onMount, tick, createEventDispatcher } from 'svelte'; + import { + getContext, + getAllContexts, + onMount, + tick, + createEventDispatcher, + onDestroy + } from 'svelte'; import { copyToClipboard } from '$lib/utils'; import 'highlight.js/styles/github-dark.min.css'; @@ -31,6 +38,8 @@ export let editorClassName = ''; export let stickyButtonsClassName = 'top-8'; + let pyodideWorker = null; + let _code = ''; $: if (code) { updateCode(); @@ -138,7 +147,7 @@ console.log(packages); - const pyodideWorker = new PyodideWorker(); + pyodideWorker = new PyodideWorker(); pyodideWorker.postMessage({ id: id, @@ -280,6 +289,12 @@ }); } }); + + onDestroy(() => { + if (pyodideWorker) { + pyodideWorker.terminate(); + } + });