Zero-Config Bootstrap
OmniRoute now works out of the box with zero configuration on all platforms.
What's new
Auto-generated secrets on first run — no .env required:
JWT_SECRET(64-byte hex) — auth sessionsSTORAGE_ENCRYPTION_KEY(32-byte hex) — SQLite encryptionAPI_KEY_SECRET(32-byte hex) — API key signing
Secrets are persisted to {DATA_DIR}/server.env and survive restarts, Docker volume remounts, and upgrades. Existing .env values are always respected (highest priority).
Dashboard bootstrap banner — first-run notice showing where server.env is stored and how to set custom keys.
Startup warnings for missing OAuth secrets (Antigravity, iFlow, Gemini) — friendly log messages instead of silent failures.
Bug Fixes
- Electron black screen (macOS/Windows/Linux) — Fixed. The server was crashing silently because
JWT_SECRETandSTORAGE_ENCRYPTION_KEYare never in the desktop OS environment. Now auto-generated and persisted touserData/server.env. - iFlow/Antigravity OAuth
invalid_client— Fixed. Startup warnings now clearly indicate when OAuth secrets are not configured.
Files changed
scripts/bootstrap-env.mjs— new zero-config bootstrap modulescripts/run-standalone.mjs,scripts/run-next.mjs— wired to bootstrapelectron/main.js— synchronous bootstrap (CJS-compatible)src/app/(dashboard)/dashboard/BootstrapBanner.tsx— new first-run banner