mirror of
https://github.com/NeuralNomadsAI/CodeNomad.git
synced 2026-08-21 14:23:26 +00:00
Electron and Tauri can each publish a legacy running marker immediately before publishing their shared cross-host participant. On a simultaneous Windows startup, both hosts could observe that transient gap and yield ownership, leaving no primary. When legacy detection initially blocks a primary candidate, wait for one bounded 50ms participant grace period and reconcile once before yielding. Apply the same protocol on both Node and Rust hosts; genuine legacy clients still block ownership after the grace period. Validated with root typecheck, 50 repeated cross-host election runs, 122 Electron native tests, 74 Tauri tests, and git diff checks. |
||
|---|---|---|
| .. | ||
| electron | ||
| scripts | ||
| .gitignore | ||
| electron.vite.config.ts | ||
| package.json | ||
| README.md | ||
| tsconfig.json | ||
CodeNomad App
This package contains the native desktop application shell for CodeNomad, built with Electron.
Overview
The Electron app wraps the CodeNomad UI and Server into a standalone executable. It provides deeper system integration, such as:
- Native window management
- Global keyboard shortcuts
- Application menu integration
Development
To run the Electron app in development mode:
npm run dev
This will start the renderer (UI) and the main process with hot reloading.
Building
To build the application for your current platform:
npm run build
To build for specific platforms (requires appropriate build tools):
- macOS:
npm run build:mac - Windows:
npm run build:win - Linux:
npm run build:linux
Structure
electron/main: Main process code (window creation, IPC).electron/preload: Preload scripts for secure bridge between main and renderer.electron/resources: Static assets like icons.