feat(desktop): handle startup failure and renderer load errors

This commit is contained in:
CREDO23 2026-03-18 19:49:59 +02:00
parent 9434965803
commit 36924bbd65

View file

@ -128,6 +128,12 @@ function createWindow() {
callback({ redirectURL: rewritten }); callback({ redirectURL: rewritten });
}); });
mainWindow.webContents.on('did-fail-load', (_event, errorCode, errorDescription, validatedURL) => {
console.error(`Failed to load ${validatedURL}: ${errorDescription} (${errorCode})`);
if (errorCode === -3) return; // ERR_ABORTED — normal during redirects
showErrorDialog('Page failed to load', new Error(`${errorDescription} (${errorCode})\n${validatedURL}`));
});
if (isDev) { if (isDev) {
mainWindow.webContents.openDevTools(); mainWindow.webContents.openDevTools();
} }
@ -199,7 +205,13 @@ if (process.defaultApp) {
// App lifecycle // App lifecycle
app.whenReady().then(async () => { app.whenReady().then(async () => {
try {
await startNextServer(); await startNextServer();
} catch (error) {
showErrorDialog('Failed to start SurfSense', error);
setTimeout(() => app.quit(), 0);
return;
}
createWindow(); createWindow();
// If a deep link was received before the window was ready, handle it now // If a deep link was received before the window was ready, handle it now