desktop-prod fixes:
- `tauri build --debug` used to produce every bundle and THEN exit 1 at the
updater-artifact signing step (no TAURI_SIGNING_PRIVATE_KEY on dev
machines); the script papered over it with a blanket "non-fatal bundle
error" grep that also swallowed real bundling failures. Local emulation
builds now pass `--config '{"bundle":{"createUpdaterArtifacts":false}}'`
and only build the bundle the script launches (--bundles app / appimage,
--no-bundle on Windows), so the build exits 0. Any nonzero exit now FAILS
the script — the sole tolerated case is a specifically-detected
linuxdeploy/FUSE failure on Linux when the raw debug binary was produced.
- The HF cache wipe ran `rm -rf ~/.cache/huggingface` on macOS/Linux — the
SHARED global cache (backend/core/config.py only relocates it on Windows),
deleting models unrelated to OmniVoice. Non-app-scoped cache paths are now
kept with a "models will be reused" notice; FRESH_NUKE_HF=1 opts in.
- Honest clean marks (removed ✓ / already-clean ○ instead of ✗ for success),
`open -n` always (plain `open` focused a stale running instance instead of
launching the freshly built one), stale-AppImage removal on Linux.
New `bun desktop-fresh` (+ desktop-fresh:run), macOS-only with explicit
refusal elsewhere: true new-user emulation.
- Blank slate: everything desktop-prod cleans PLUS the traces that survive a
reinstall + data wipe — ~/Library/WebKit (webview localStorage), Caches,
HTTPStorages*, Preferences plist (+ defaults delete), Saved Application
State. Per-path found/removed/absent status with sizes; --dry-run prints
the full plan without touching anything.
- Dev-machine camouflage: launches by direct exec of the bundle's Mach-O
(which inherits env — `open` hands off to launchd and drops it) with PATH
stripped of /opt/homebrew/{bin,sbin} + /usr/local/bin and HF_TOKEN /
HUGGING_FACE_HUB_TOKEN / HF_HOME / HF_HUB_CACHE / HF_ENDPOINT /
OMNIVOICE_* unset, and prints a banner of what is hidden.
Shared pure helpers live in scripts/desktop-common.mjs, covered by 9 node
tests (tests/frontend/desktopScripts.test.mjs): every cleanable path is
app-scoped and under $HOME, the PATH/env sanitizers strip exactly the
intended entries, and the build args carry the updater-artifacts-off config.
Co-authored-by: mergetest <test@local>
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
47 lines
2.2 KiB
JSON
47 lines
2.2 KiB
JSON
{
|
|
"name": "omnivoice-studio-monorepo",
|
|
"version": "1.0.0",
|
|
"license": "AGPL-3.0-only",
|
|
"private": true,
|
|
"packageManager": "bun@1.3.11",
|
|
"scripts": {
|
|
"setup:api": "uv sync && uv run python scripts/setup.py",
|
|
"dev:api": "uv run uvicorn main:app --app-dir backend --host 0.0.0.0 --port 3900 --reload --reload-dir backend",
|
|
"dev:frontend": "bun run --cwd frontend dev",
|
|
"dev:desktop": "TAURI_SKIP_BACKEND=1 bun run --cwd frontend desktop",
|
|
"wait:api": "wait-on -t 300000 http-get://localhost:3900/system/info",
|
|
"wait:frontend": "wait-on -t 120000 http://localhost:5173",
|
|
"predev": "bun install && (kill-port 3900 3901 || true)",
|
|
"dev": "bun run setup:api && concurrently -n api,fe -c green,cyan --kill-others-on-fail \"bun run dev:api\" \"bun run dev:frontend\"",
|
|
"predesktop": "bun install && (kill-port 3900 3901 || true)",
|
|
"desktop": "bun run setup:api && concurrently -n api,app -c green,magenta --kill-others-on-fail \"bun run dev:api\" \"bun run dev:desktop\"",
|
|
"desktop-prod": "bun scripts/desktop-prod.mjs",
|
|
"desktop-prod:run": "bun scripts/desktop-prod.mjs --skip-build",
|
|
"desktop-prod:upgrade": "bun scripts/desktop-prod.mjs --keep-data",
|
|
"desktop-prod:keep-models": "bun scripts/desktop-prod.mjs --keep-models",
|
|
"desktop-prod:pill": "bun scripts/desktop-prod.mjs --pill",
|
|
"desktop-prod:run:pill": "bun scripts/desktop-prod.mjs --skip-build --pill",
|
|
"desktop-fresh": "bun scripts/desktop-fresh.mjs",
|
|
"desktop-fresh:run": "bun scripts/desktop-fresh.mjs --skip-build",
|
|
"build": "turbo run build",
|
|
"start": "turbo run start",
|
|
"test:frontend": "node --test tests/frontend/*.test.mjs",
|
|
"smoke-test": "bash scripts/smoke-test.sh",
|
|
"smoke-test:quick": "bash scripts/smoke-test.sh --skip-build --skip-model",
|
|
"smoke-test:upgrade": "bash scripts/smoke-test.sh --keep-data --skip-build",
|
|
"deps:check": "taze -r --maturity-period 7"
|
|
},
|
|
"workspaces": [
|
|
"frontend"
|
|
],
|
|
"devDependencies": {
|
|
"concurrently": "^9.2.1",
|
|
"kill-port-process": "^4.0.2",
|
|
"playwright": "^1.60.0",
|
|
"taze": "^19.14.1",
|
|
"turbo": "^2.9.18",
|
|
"typescript": "^6.0.3",
|
|
"wait-on": "^9.0.10"
|
|
}
|
|
}
|