Commit Graph
32 Commits
Author SHA1 Message Date
Lucas WintherandClaude Opus 5.5 f7d0525423 Wait for the PCM payload, not just the request, in the live WebSocket test (race under load)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-29 21:58:03 +01:00
Lucas WintherandClaude Opus 5.5 8236ea3504 End the hint prompt in a full stop: an unterminated list made Whisper drop punctuation and loop
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-29 21:55:48 +01:00
Lucas WintherandClaude Opus 5.5 1c5952f212 Validate the vocabulary hint server-side and pass it to faster-whisper as initial_prompt
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-29 21:45:39 +01:00
Lucas WintherandClaude Opus 5.5 313892b6df Carry the vocabulary hint as prompt from the engines through the worker into every window
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-29 21:44:06 +01:00
Lucas WintherandClaude Opus 5.5 87617bef4c Fix a type error in the hint truncation test
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-29 21:43:19 +01:00
Lucas WintherandClaude Opus 5.5 e6de097cfd Feed Whisper a decoder prompt through the ASR pipeline and strip it from the output
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-29 21:43:11 +01:00
Lucas WintherandClaude Opus 5.5 942799d3cb Add the vocabulary hint's normalization, storage and prompt truncation rule
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-29 21:42:25 +01:00
Lucas WintherandClaude Opus 5.5 4942461f79 Add typecheck + CI checks, light theme with self-hosted Inter, fix real-model test
- Typecheck: typescript 7 devDependency, `bun run typecheck`; CI gains a
  `check` stage (install, typecheck, fast tests) gating image builds (D-038).
- Light theme: every colour is a token; prefers-color-scheme: light
  overrides them. Inter Variable self-hosted from @fontsource-variable/inter,
  kept out of Bun's CSS inlining and precached (scripts/fonts.ts, D-037).
  Backend select no longer overflows on narrow phones.
- tests/live-real-model.test.ts: time budget scales with clip length and
  en_alien gets a measured WER bar; it had failed since July (D-039).
- Delete the temporary isolate_wer2.ts; fix icon "not checked in" comments
  and the README's model-weights location.
- Agent docs: branch naming, typecheck, CI, Bun CSS gotcha, permissions.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-29 20:52:13 +01:00
Lucas Winther 500cf3b36e Don't show the live "recording"/listening indicator until the model is ready
startLive()'s browser-engine branch flipped liveStatus to "listening" (the
red live-dot, "Listening..." hint) the instant the mic was granted, even if
the Whisper pipeline was still loading — the user saw an active-looking
session while nothing was being transcribed yet. transcribeLiveSegment()
already correctly awaits the model-ready gate before posting a segment, so
this was purely a misleading-status bug.

Adds a "loading-model" LiveStatus between "starting" and "listening";
startLive() now waits on the same browserModelReady() gate the transcribe
path uses before claiming "listening", with race-safe cleanup if the load
fails while waiting. Server-engine live is unaffected.

Adds Decisions.md D-034; updates tests/live.md's manual verification steps.
2026-07-30 08:31:23 +02:00
Lucas Winther 7040f031a6 Usability and test infrastructure updates. 2026-07-29 09:20:43 +02:00
Lucas Winther 214a9ef714 Better error handling 2026-07-29 07:59:16 +02:00
Lucas Winther 78e99fc415 Fixed for decoder dl speed and mobile warnings on low memory devices. 2026-07-29 07:47:42 +02:00
Lucas Winther a0ef5548af Optimize max peak memory usage and add warnings on mobile for higher models 2026-07-28 07:23:37 +02:00
Lucas Winther f6019b3a42 Prefer WASM on firefox cause WebGPU is incredibly slow there. 2026-07-17 16:35:49 +02:00
Lucas Winther 74858f63fc Enhanced transcription usability. 2026-07-17 15:18:15 +02:00
Lucas Winther 770cfc9ff7 Allow txt export with timestampts 2026-07-17 14:14:43 +02:00
Lucas Winther 742053144e Fix output text not working. 2026-07-15 14:13:59 +02:00
Lucas Winther 0bd5d326a5 Focus on speedup and not hanging on large audio files. 2026-07-15 13:01:22 +02:00
Lucas Winther 695b97be76 Fix model selection. 2026-07-14 19:55:20 +02:00
Lucas WintherandClaude Fable 5 8f2da530e2 Transcript export (.txt/.srt) and model storage manager (M6)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-14 19:41:47 +02:00
Lucas Winther 0084e0435a Add cancel + progress UI, EngineToggle, and Docker deployment 2026-07-14 19:32:10 +02:00
Lucas Winther be82ecfe57 Better tests and more user feedback while doing transcription; WIP. 2026-07-14 14:44:01 +02:00
Lucas Winther 18acead43c Improvements and tests for live transcription. 2026-07-14 14:14:01 +02:00
Lucas Winther 076efc2101 subpath feature 2026-07-10 10:13:37 +02:00
Lucas Winther 2d668b3fb8 Start on live transcription and python sidecar (faster-whisper) 2026-07-10 09:41:02 +02:00
Lucas Winther 033ea32968 Start on live transcription and python sidecar (faster-whisper) 2026-07-10 09:28:42 +02:00
Lucas Winther 71d9e6e781 Login feature flag - the rest. 2026-07-10 04:50:42 +02:00
Lucas Winther 71d1730284 Login feature flag added. 2026-07-10 04:50:25 +02:00
Lucas Winther 5246fb6b31 fix WASM (cpu) 2026-07-10 04:37:01 +02:00
Lucas Winther 3be6721d46 update status of offline tests. 2026-07-10 04:22:40 +02:00
Lucas WintherandClaude Fable 5 9f39a82982 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 <noreply@anthropic.com>
2026-07-10 04:02:28 +02:00
Lucas Winther eb72a2e646 Agent completed work jubii 2026-07-09 08:07:32 +02:00