diff --git a/code/websites/pokedex.online/src/views/GamemasterExplorer.vue b/code/websites/pokedex.online/src/views/GamemasterExplorer.vue index 67a7b29..c7f8811 100644 --- a/code/websites/pokedex.online/src/views/GamemasterExplorer.vue +++ b/code/websites/pokedex.online/src/views/GamemasterExplorer.vue @@ -401,11 +401,26 @@ let searchWorker = null; let searchWorkerRequestId = 0; const initSearchWorker = () => { if (!searchWorker) { - searchWorker = new Worker( - new URL('../workers/search.worker.js', import.meta.url), - { type: 'module' } - ); - searchWorker.onmessage = handleSearchWorkerMessage; + 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); + operationProgress.value.active = false; + operationProgress.value.message = 'Search error: ' + error.message; + }; + + console.log('✅ Worker event handlers attached'); + } catch (error) { + console.error('❌ Failed to create worker:', error); + operationProgress.value.active = false; + operationProgress.value.message = 'Failed to initialize search'; + searchWorker = null; + } } };