From b6707d75dea853ec9779d003fa430db3c72c554f Mon Sep 17 00:00:00 2001 From: FragginWagon Date: Wed, 28 Jan 2026 21:07:48 +0000 Subject: [PATCH] =?UTF-8?q?=F0=9F=94=A7=20Update=20search=20worker=20initi?= =?UTF-8?q?alization=20to=20use=20Vite's=20=3Fworker=20syntax=20for=20prop?= =?UTF-8?q?er=20bundling=20and=20improve=20error=20handling?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/views/GamemasterExplorer.vue | 35 ++++++++++--------- 1 file changed, 18 insertions(+), 17 deletions(-) diff --git a/code/websites/pokedex.online/src/views/GamemasterExplorer.vue b/code/websites/pokedex.online/src/views/GamemasterExplorer.vue index 0ddf0e6..54d0fbf 100644 --- a/code/websites/pokedex.online/src/views/GamemasterExplorer.vue +++ b/code/websites/pokedex.online/src/views/GamemasterExplorer.vue @@ -402,24 +402,25 @@ let searchWorkerRequestId = 0; const initSearchWorker = () => { if (!searchWorker) { try { - const workerUrl = new URL('../workers/search.worker.js', import.meta.url); - console.log('🔧 Creating worker with URL:', workerUrl.href); - searchWorker = new Worker(workerUrl, { type: 'module' }); - console.log('✅ Worker created successfully'); - - searchWorker.onmessage = handleSearchWorkerMessage; - searchWorker.onerror = error => { - console.error( - '❌ Worker error:', - error.message, - error.filename, - error.lineno - ); + // Use Vite's ?worker syntax for proper bundling + import('../workers/search.worker.js?worker').then(module => { + searchWorker = new module.default(); + console.log('✅ Worker created successfully'); + + searchWorker.onmessage = handleSearchWorkerMessage; + searchWorker.onerror = error => { + console.error('❌ Worker error:', error.message); + operationProgress.value.active = false; + operationProgress.value.message = 'Search error: ' + error.message; + }; + + console.log('✅ Worker event handlers attached'); + }).catch(error => { + console.error('❌ Failed to import worker:', error); operationProgress.value.active = false; - operationProgress.value.message = 'Search error: ' + error.message; - }; - - console.log('✅ Worker event handlers attached'); + operationProgress.value.message = 'Failed to initialize search'; + searchWorker = null; + }); } catch (error) { console.error('❌ Failed to create worker:', error); operationProgress.value.active = false;