WIP: M3 PWA/offline implementation, M4 auth (backend + frontend), D-013 faster-whisper

- M3: hand-rolled service worker (precache + runtime /ort caching), precache
  manifest injection, SW registration/update toast, manifest + generated icons,
  production build script, offline indicator in ModelPicker (D-005/D-007)
- M4 backend: bun:sqlite users/sessions (D-009), Passport local strategy behind
  connect-compat adapter (D-008), /api/auth routes wired into dev+prod serving,
  Bun.password Argon2id, 38 auth tests
- M4 frontend: AuthForms + useAuth + framework-free authClient, session-aware
  header, anonymous-first fail-silent offline handling, 18 client tests
- D-013: server engine (M5) will use faster-whisper via Python sidecar;
  browser side stays Transformers.js (CTranslate2 has no WASM build)
- bun test: 83 pass / tsc --noEmit clean
- Note: M3 doc closeout (WorkBreakdown/Architecture/tests/offline.md) still in
  flight from a background agent; follow-up commit will finish docs

Co-Authored-By: Claude Fable 5 <[email protected]>
This commit is contained in:
Lucas Winther
2026-07-10 04:02:28 +02:00
co-authored by Claude Fable 5
parent eb72a2e646
commit 9f39a82982
38 changed files with 3857 additions and 246 deletions
+8 -3
View File
@@ -5,17 +5,22 @@
"type": "module",
"scripts": {
"dev": "bun --hot src/index.ts",
"build": "bun build src/index.html --outdir=dist --sourcemap --target=browser --minify --define:process.env.NODE_ENV='\"production\"' --env='BUN_PUBLIC_*'",
"build": "bun scripts/build.ts",
"icons": "bun scripts/generate-icons.ts",
"start": "NODE_ENV=production bun src/index.ts"
},
"dependencies": {
"@huggingface/transformers": "^4.2.0",
"passport": "^0.7.0",
"passport-local": "^1.0.0",
"react": "^19",
"react-dom": "^19"
},
"devDependencies": {
"@types/bun": "latest",
"@types/passport": "^1.0.17",
"@types/passport-local": "^1.0.38",
"@types/react": "^19",
"@types/react-dom": "^19",
"@types/bun": "latest"
"@types/react-dom": "^19"
}
}