From 98a12e1e3ee8e5898e1fea20501e5efee4f9398c Mon Sep 17 00:00:00 2001 From: Josh Knapp Date: Sun, 26 Apr 2026 10:12:14 -0700 Subject: [PATCH] Update startServer JSDoc; surface boot errors via dialog Co-Authored-By: Claude Sonnet 4.6 --- desktop-client/index.js | 3 +++ desktop-client/server.js | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/desktop-client/index.js b/desktop-client/index.js index 8f63507..94ddacd 100644 --- a/desktop-client/index.js +++ b/desktop-client/index.js @@ -67,6 +67,9 @@ app.whenReady().then(async () => { }, onQuit: () => app.quit(), }); +}).catch((err) => { + dialog.showErrorBox('Failed to start', err && err.message ? err.message : String(err)); + app.exit(1); }); app.on('window-all-closed', () => { diff --git a/desktop-client/server.js b/desktop-client/server.js index 30c89e9..0f0b3b8 100644 --- a/desktop-client/server.js +++ b/desktop-client/server.js @@ -9,7 +9,7 @@ const { initialState, mergeState } = require('./state'); * @param {Object} opts * @param {number} opts.port Port to listen on (e.g. 9095). * @param {string} [opts.overlayDir] Absolute path to the overlay/ directory to serve as static files. Optional (omit for tests). - * @returns {Promise<{ setState: (update: object) => object, stop: () => Promise }>} + * @returns {Promise<{ setState: (update: object) => object, stop: () => Promise, port: number }>} */ async function startServer({ port, overlayDir }) { let currentState = { ...initialState };