mirror of
https://github.com/linsa-io/linsa.git
synced 2026-01-11 14:30:26 +01:00
1.5 KiB
1.5 KiB
Linsa desktop
Electron shell that mirrors the same structure we use in the as project: electron-vite bundling the main, preload, and React renderer. The window loads the Linsa web app by default (dev URL: http://localhost:5625) and falls back to the bundled renderer if the web app cannot be reached.
Running locally
pnpm install
pnpm --filter @linsa/web dev
pnpm --filter @linsa/desktop dev
By default the Electron shell loads the existing web app. Override the target with WEB_DEV_URL or WEB_URL when needed.
Set a Jazz Cloud key to sync state instead of keeping it only on the device:
cd packages/desktop
echo "VITE_JAZZ_API_KEY=your_jazz_key" >> .env
# optional: point to a custom peer
# echo "VITE_JAZZ_PEER=ws://localhost:4200" >> .env
Optional environment
WEB_URL/WEB_DEV_URL– where to load the web app from.VITE_JAZZ_API_KEY/VITE_JAZZ_PEER– used by the fallback renderer for sync.
What it does
- Uses
electron-viteto bundlemain,preload, and the React renderer. - Loads the web client first and falls back to the bundled renderer if needed.
- Wraps the renderer with
JazzReactProvider(storage in IndexedDB) and a simple Jazz schema to keep track of folders you want scanned. - Opens an OS folder picker (via the preload bridge) to add/remove code folders.
- Scans those folders for git repos and lets you open them in VS Code, Terminal, or Finder.
- Shows the current Jazz sync status so we can expand to syncing folder lists later.