Engine venv is now local to this repo (uv venv + editable install of this backend)

- backend/.venv was a symlink into ~/Projects/Shonar; replaced with a real
  local venv built fully offline from the uv cache (deps pinned to the
  versions the app was tested with: fastapi, uvicorn, sqlalchemy,
  aiosqlite, alembic, faster-whisper 1.2.1, dev extras)
- editable install resolves 'shonar' to THIS backend/ (verified via
  shonar.__file__); PYTHONPATH pin kept as a belt
- verified standalone: with ~/Projects/Shonar renamed away, engine boots,
  self-migrates (alembic head m8models000001), /healthz + /readyz ok, and
  full register -> upload -> finalize -> list -> audio-download roundtrip
  passes (sha256 match)
This commit is contained in:
avi 2026-09-14 20:46:50 -05:00
commit adc40201a1

View file

@ -297,8 +297,9 @@ class DesktopState(private val appDir: File = defaultAppDir()) {
fresh
}
val env = mutableMapOf(
// The .venv may be shared (symlink) whose editable install
// points elsewhere — PYTHONPATH makes THIS backend win.
// backend/.venv is local to this project (uv venv, editable
// install of THIS backend). PYTHONPATH kept as a belt: it
// pins this code over any other shonar on the interpreter.
"PYTHONPATH" to backend.absolutePath,
"SHONAR_SECRET_KEY" to secret,
// Bundled-lite: one process, SQLite, in-process queue,