diff --git a/electron-app/main.js b/electron-app/main.js index cc9be7bf1..39ff4fb6f 100644 --- a/electron-app/main.js +++ b/electron-app/main.js @@ -6,7 +6,6 @@ import { app, BrowserWindow, dialog, screen } from "electron"; import pkg from "electron-updater"; -import fs from "fs"; import { getConfigManager } from "./src/config/configInstance.js"; import { setupIpcHandlers } from "./src/ipc/handlers.js"; import { startBackend, stopBackend } from "./src/processes/backend.js"; @@ -17,13 +16,6 @@ import { createWindow } from "./src/windows/mainWindow.js"; const { autoUpdater } = pkg; -// Disable sandbox on Linux — sandbox restrictions vary across distros -// (AppArmor on Ubuntu, SELinux on Fedora, etc.) and this is an internal -// app where all content is trusted. -if (process.platform === "linux") { - app.commandLine.appendSwitch("no-sandbox"); -} - // Setup IPC handlers for renderer process communication setupIpcHandlers(); diff --git a/electron-app/package.json b/electron-app/package.json index 0a1fc3b24..1f1270cec 100644 --- a/electron-app/package.json +++ b/electron-app/package.json @@ -111,7 +111,8 @@ ], "icon": "icons/512x512.png", "category": "Utility", - "artifactName": "${productName}-${version}-linux-${arch}.${ext}" + "artifactName": "${productName}-${version}-linux-${arch}.${ext}", + "executableArgs": ["--no-sandbox"] } } } diff --git a/electron-app/src/processes/backend.js b/electron-app/src/processes/backend.js index b0894ca31..5ec35879e 100644 --- a/electron-app/src/processes/backend.js +++ b/electron-app/src/processes/backend.js @@ -79,7 +79,11 @@ async function startBackend(logWindow = null) { logger.backend.info(text); // Send log message to log window - if (currentLogWindow && !currentLogWindow.isDestroyed()) { + if ( + currentLogWindow && + !currentLogWindow.isDestroyed() && + currentLogWindow.webContents + ) { const htmlData = convert.toHtml(text); currentLogWindow.webContents.send("log", htmlData); }