From 861f2a69024e7e463dafa195cba9d7e154574c1a Mon Sep 17 00:00:00 2001 From: jaakko Date: Mon, 6 Apr 2026 20:04:53 +0300 Subject: [PATCH] =?UTF-8?q?Worker=20ES=20module:=20importScripts=20?= =?UTF-8?q?=E2=86=92=20import=20(wasm-pack=20--target=20web)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit wasm-pack --target web generoi ES module -syntaksia (export). Worker käyttää nyt type:'module' ja import-lauseita importScripts:n sijaan. Co-Authored-By: Claude Opus 4.6 (1M context) --- network-poc/static/index.html | 2 +- network-poc/static/worker.js | 20 +++++++++----------- 2 files changed, 10 insertions(+), 12 deletions(-) diff --git a/network-poc/static/index.html b/network-poc/static/index.html index 1e2c6cf..0a35d6f 100644 --- a/network-poc/static/index.html +++ b/network-poc/static/index.html @@ -3246,7 +3246,7 @@ Write the corrected code.`; try { // Käynnistetään WASM Web Workerissa - coderWorker = new Worker('./worker.js'); + coderWorker = new Worker('./worker.js', { type: 'module' }); // Workerin console.log-viestit → pääsäikeen kuuntelija // Worker ei voi kutsua console.log näkyvästi, joten WASM:n console_log diff --git a/network-poc/static/worker.js b/network-poc/static/worker.js index 1f33288..64aec00 100644 --- a/network-poc/static/worker.js +++ b/network-poc/static/worker.js @@ -1,33 +1,31 @@ -// Kipinä WASM Worker — ajaa kielimallin inferenssin erillisessä säikeessä -// Pääsäie (UI) ei jäädy pitkien laskutoimituksien aikana. +// Kipinä WASM Worker (ES module) — ajaa kielimallin inferenssin erillisessä säikeessä +import init, { start_agent_node, set_gpu_load, set_auto_tasks } from './pkg/node.js'; -let wasm = null; +let wasmReady = false; self.onmessage = async (e) => { const { type, data } = e.data; if (type === 'init') { try { - // Ladataan WASM-moduuli Workerissa - importScripts('./pkg/node.js'); - wasm = wasm_bindgen; - await wasm.default(); + await init(); + wasmReady = true; self.postMessage({ type: 'ready' }); } catch (err) { self.postMessage({ type: 'error', message: 'WASM init: ' + err.message }); } } else if (type === 'start') { - if (!wasm) return; + if (!wasmReady) return; const { hubUrl, hasWebGPU, deviceInfo, taskId } = data; try { - await wasm.start_agent_node(hubUrl, hasWebGPU, deviceInfo, taskId); + await start_agent_node(hubUrl, hasWebGPU, deviceInfo, taskId); self.postMessage({ type: 'started' }); } catch (err) { self.postMessage({ type: 'error', message: 'Node: ' + err.message }); } } else if (type === 'set_gpu_load') { - if (wasm) wasm.set_gpu_load(data.load); + if (wasmReady) set_gpu_load(data.load); } else if (type === 'set_auto_tasks') { - if (wasm) wasm.set_auto_tasks(data.enabled); + if (wasmReady) set_auto_tasks(data.enabled); } };