From 6031737f83283a248ab708fc5270e553cd310f23 Mon Sep 17 00:00:00 2001 From: Jaakko Vanhala Date: Thu, 9 Apr 2026 17:06:51 +0300 Subject: [PATCH] =?UTF-8?q?Laskentasolmu=20k=C3=A4ynnistyy=20automaattises?= =?UTF-8?q?ti:=20kpnRun=20+=20refresh-autostart?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Kaksi korjausta laskentaan: 1. kpnRun kutsuu ensureCoderNode() automaattisesti jos solmu ei ole vielä käynnissä — käyttäjän ei tarvitse muistaa kpn load 2. localStorage-autostart: jos malli oli ladattu ennen refreshiä, ensureCoderNode() ajetaan automaattisesti sivulatauksessa Tämä korjaa "Ei vapaata solmua" -virheen kpn run coder -komennoissa. Co-Authored-By: Claude Opus 4.6 (1M context) --- network-poc/frontend/src/pages/index.astro | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/network-poc/frontend/src/pages/index.astro b/network-poc/frontend/src/pages/index.astro index 47e9cd4..dfe3717 100644 --- a/network-poc/frontend/src/pages/index.astro +++ b/network-poc/frontend/src/pages/index.astro @@ -1518,6 +1518,15 @@ IMPORTANT: Include get_db() dependency for FastAPI` }, await new Promise(r => setTimeout(r, 50)); try { + // Varmistetaan, että laskentasolmu on käynnissä + if (!coderWsReady && typeof ensureCoderNode === 'function') { + statusDiv.innerHTML = ` → Käynnistetään laskentasolmua...`; + await ensureCoderNode(); + // Odotetaan hetki jotta solmu ehtii rekisteröityä hubiin + await new Promise(r => setTimeout(r, 1000)); + statusDiv.innerHTML = ` ${model} käsittelee...`; + } + const agent = Object.values(agentPrompts).find(a => a.model === model); const parts = []; if (sharedPrompt) parts.push(sharedPrompt); @@ -3747,7 +3756,10 @@ ${filesHtml} } } - // Mallia EI ladata automaattisesti — käyttäjä käynnistää itse: kpn load + // Automaattinen uudelleenkäynnistys: jos malli oli ladattu ennen refreshiä + if (localStorage.getItem('kpn-coder-loaded') === 'true') { + setTimeout(() => ensureCoderNode(), 500); + } // Laskentasolmun käynnistys/pysäytys -nappi let computeAbortController = null;