Symptoms: UI says the backend is offline; GET /health fails.
Checks:
- Confirm something listens on
127.0.0.1:4000(Task Manager /lsof/netstat). - Start backend alone:
cd backend && npm run dev. - If you changed
PORT, update the frontendVITE_API_BASEand any hardcoded Rust URLs (see Configuration).
Symptoms: error: invalid value '1' for '--ci'.
Cause: Some CI environments set CI=1, which confuses the Tauri CLI flag parser.
Fix: The repo uses cross-env CI=false on production builds. For ad hoc runs:
cross-env CI=false npx tauri build
# or
env -u CI npx tauri devSymptoms: Vite cannot bind to 1420.
Fix: Stop other Vite processes or change frontend/vite.config.ts and src-tauri/tauri.conf.json devUrl together.
Checks:
- Tauri runtime: Watching requires the desktop app, not the UI opened in a normal browser alone.
- Path: Pick a folder that exists and is readable; subfolders are watched recursively.
- Events: Some editors save via rename; the watcher treats create/modify. Try copying a new file into the folder.
- Backend: Ingest fails if
POST /api/ingestcannot read the file path (permissions, AV locking).
Symptoms: Summary falls back to “Local synthesis (LLM unavailable…)”; error_message populated.
Checks:
- LLM server is up and serves
POST .../v1/chat/completions(or normalized base URL in settings). - Model id matches what the server expects.
- Firewall rules allow loopback traffic.
Symptoms: Rare SQLITE_BUSY under heavy concurrent access.
Fix: Single writer design; avoid opening sift.db with external tools while the app runs. Backend uses WAL mode to reduce contention.
Symptoms: edition2024 or very new crate errors.
Fix: rustup update stable and align with rust-toolchain.toml. See Installation.
Fix: Install or repair WebView2 Evergreen Runtime (Microsoft).
Open an issue with OS version, Rust (rustc --version), Node (node --version), and the first error line from the terminal.