Resolve the Hermes CLI path explicitly before running profile cron
create/update/action commands so Workspace does not depend on the
launch environment PATH.
This fixes job edit/action failures that surfaced as:
spawnSync hermes ENOENT
Also refresh the tracked Electron server bundle so the desktop app
picks up the server-side fix.
- createWindow() no longer loads static onboarding HTML on missing gateway
- Auto-starts 'openclaw gateway start' if not running + OpenClaw installed
- Always loads the React web app (wizard handles gateway state)
- Added gateway:restart IPC handler for renderer to restart gateway
- Preload exposes gateway.restart() via contextBridge
- before-quit kills spawned gateway process
- Orange gradient background matching ClawSuite brand
- Larger bar (h-10/40px) with centered 'ClawSuite' in white
- Traffic light spacer on left (78px) for macOS buttons
- Traffic lights repositioned to y:12 for vertical centering
- Matches Chrome PWA native feel
- Scans ports 3000/3003/3001/3002 for running server
- Falls back to starting pnpm dev from repo dir
- Fixed gateway health check (/health not /api/health)
- Removed broken static file server approach (SSR routes need full server)
- Added local HTTP server in main process that serves dist/client/ static files
- Reverse-proxies /api/* and /events/* to the OpenClaw gateway
- SPA fallback to index.html for client-side routing
- Fixes black screen / ERR_CONNECTION_REFUSED on production .dmg launch
First pass of the agent-hub split:
- hub-constants.tsx: storage keys, CSS classes, type definitions, presets
- hub-utils.tsx: model helpers, mission report storage, cost calculations
Main file still 9.4K lines — UI component splits in next pass.
tsc clean.
- Generated icon.png (1024x1024), icon.icns (macOS), tray-icon.png from logo SVG
- Fixed ESM/CJS conflict: electron files use .cjs extension
- Electron launches successfully, auto-detects gateway, loads app
- Added electron + electron-builder as devDependencies