mirror of
https://github.com/open-jarvis/OpenJarvis.git
synced 2026-07-29 18:40:38 +00:00
Addresses #331 (multiple Windows users hit "Jarvis server did not become healthy in time" with no actionable detail). The boot sequence ran `uv sync` with **both** stdout AND stderr piped to `/dev/null` and discarded the exit code (`let _ = …`). When `uv sync` failed for any reason — Windows PATH/permission issues, network problems, lockfile conflicts, stale `.venv/` — the user saw nothing useful. The boot proceeded to `uv run jarvis serve` in an under-provisioned venv, then waited the full 600-second health-check window before showing a generic "did not start" message with no hint of what actually went wrong. Fix: capture stderr, check the exit status, and surface a useful error to the user **before** the long server-start wait, including: - The exit code - The last ~800 chars of `uv sync` stderr (where the diagnostic message usually lives) - A concrete next step (open a terminal and run `uv sync --extra server` manually for full output) Also updated the status detail message to "Installing dependencies (uv sync — may take 1-2 min on first boot)..." so users on slow connections don't restart the app thinking it's stuck. Discord support thread (5/12-5/14) shows the same pattern across multiple Windows users (@ItsVoyage, @Mystic_irl, @doevud, @Sainthood): all stuck on "Starting api server" / "did not become healthy in time" for 4+ minutes, with the actual root cause turning out to be a uv installation issue that the discarded stderr would have surfaced immediately. The community workaround (uninstall, install Feb pre-release, run a magic PowerShell `irm` command for uv) is the right diagnosis applied without diagnostic output — this commit makes that diagnostic output visible. Note: this fix lands in the desktop binary's source (`frontend/src-tauri/src/lib.rs`). Users running the v1.0.1 desktop binary won't see the improved error message until the desktop release is re-cut from this branch. Until then, the workaround documented in this PR's `openjarvis.ai` fallback section (curl the install.sh from GitHub raw) gets new users past the install step. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>