Skip to content

Commit 5bd8292

Browse files
committed
chore: spawn error handling
1 parent 2f6be15 commit 5bd8292

File tree

2 files changed

+5
-0
lines changed

2 files changed

+5
-0
lines changed

src-electron/main-app-ipc.js

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,11 @@ function registerAppIpcHandlers() {
8383
});
8484

8585
childProcess.on('error', (err) => {
86+
instance.terminated = true;
8687
console.error(`Failed to start process (instance ${instanceId}):`, err);
88+
if (!sender.isDestroyed()) {
89+
sender.send('process-error', instanceId, { message: err.message, code: err.code });
90+
}
8791
});
8892

8993
return instanceId;

src-electron/preload.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ contextBridge.exposeInMainWorld('electronAppAPI', {
1111
onProcessStdout: (callback) => ipcRenderer.on('process-stdout', (_event, instanceId, line) => callback(instanceId, line)),
1212
onProcessStderr: (callback) => ipcRenderer.on('process-stderr', (_event, instanceId, line) => callback(instanceId, line)),
1313
onProcessClose: (callback) => ipcRenderer.on('process-close', (_event, instanceId, data) => callback(instanceId, data)),
14+
onProcessError: (callback) => ipcRenderer.on('process-error', (_event, instanceId, err) => callback(instanceId, err)),
1415

1516
// Quit the app with an exit code (for CI)
1617
quitApp: (exitCode) => ipcRenderer.invoke('quit-app', exitCode),

0 commit comments

Comments
 (0)