diff --git a/apps/electron-backend/src/app/events/epg.events.ts b/apps/electron-backend/src/app/events/epg.events.ts index 325772333..293580e8d 100644 --- a/apps/electron-backend/src/app/events/epg.events.ts +++ b/apps/electron-backend/src/app/events/epg.events.ts @@ -104,11 +104,9 @@ export default class EpgEvents { if (app.isPackaged) { // In packaged app: Resources/app.asar.unpacked/workers/epg-parser.worker.js - workerPath = path.join( - app.getAppPath().replace('app.asar', 'app.asar.unpacked'), - 'workers', - 'epg-parser.worker.js' - ); + const appPath = app.getAppPath(); + const unpackedPath = appPath.replace('app.asar', 'app.asar.unpacked'); + workerPath = path.join(unpackedPath, 'workers', 'epg-parser.worker.js'); } else { // In development: dist/apps/electron-backend/workers/epg-parser.worker.js workerPath = path.join(__dirname, 'workers', 'epg-parser.worker.js'); @@ -118,6 +116,31 @@ export default class EpgEvents { console.log(this.loggerLabel, 'Worker path:', workerPath); console.log(this.loggerLabel, 'App path:', app.getAppPath()); console.log(this.loggerLabel, 'Is packaged:', app.isPackaged); + console.log(this.loggerLabel, '__dirname:', __dirname); + + // Check if file exists + const fs = require('fs'); + if (!fs.existsSync(workerPath)) { + console.error(this.loggerLabel, 'Worker file does not exist at:', workerPath); + console.error(this.loggerLabel, 'Trying alternate paths...'); + + // Try alternate path with electron-backend subdirectory + const alternatePath = path.join( + app.getAppPath().replace('app.asar', 'app.asar.unpacked'), + 'electron-backend', + 'workers', + 'epg-parser.worker.js' + ); + console.error(this.loggerLabel, 'Alternate path:', alternatePath); + + if (fs.existsSync(alternatePath)) { + workerPath = alternatePath; + console.log(this.loggerLabel, 'Using alternate path'); + } else { + reject(new Error(`Worker file not found at ${workerPath} or ${alternatePath}`)); + return; + } + } let worker: Worker; try { diff --git a/package.json b/package.json index c70d7b87c..ba6f6d415 100644 --- a/package.json +++ b/package.json @@ -23,8 +23,12 @@ "appId": "com.fourgray.iptvnator", "productName": "IPTVnator", "artifactName": "${name}-${version}-${os}-${arch}.${ext}", + "files": [ + "**/*", + "!**/*.map" + ], "asarUnpack": [ - "**/workers/**" + "workers/**/*.js" ], "mac": { "target": {