Usability and test infrastructure updates.
This commit is contained in:
1 parent
99b1732003
commit
7040f031a6
12 files changed
+549
-127
No files matched your search
+23
-5
@@ -273,7 +273,19 @@ Notes (M5):
|
||||
(`estimatePeakLoadBytes`) is risky on a phone/tablet, covering the
|
||||
explicit Download button and the lazy auto-load on file-drop/live-start
|
||||
alike.
|
||||
- [ ] Basic a11y pass (keyboard, focus, aria on progress/live transcript)
|
||||
- [x] Basic a11y pass (keyboard, focus, aria on progress/live transcript) —
|
||||
the model-download and transcription `<progress>` bars gained
|
||||
`aria-label`s (previously announced as an unnamed percentage);
|
||||
`TranscriptView`'s heading is now a programmatic focus target
|
||||
(`tabIndex={-1}`) that receives focus the moment a final result lands,
|
||||
so keyboard/screen-reader users land on new content instead of hunting
|
||||
for it; the Copy button's "Copied!" state and `LiveControls`' status
|
||||
transitions (requesting mic / listening / finishing) now also announce
|
||||
via a visually-hidden `role="status"` region for users not focused on
|
||||
the button. Keyboard operability was already in place everywhere in
|
||||
scope (native buttons/inputs, `FileDropzone`'s `role="button"` +
|
||||
`onKeyDown`) and needed no changes. `bun test` unaffected (233 pass, 1
|
||||
pre-existing unrelated WER-gate failure, see Decisions.md).
|
||||
- [x] Production build + `bun start` deployment check; README for deployers —
|
||||
`bun run build` + `bun start` smoke-tested live (headers, hashed-asset
|
||||
immutability, `/api/*` routing, `AUTH_ENABLED=false`, server-engine
|
||||
@@ -316,10 +328,16 @@ cached.
|
||||
- [~] Manual in-browser verification (mic permission, live text, offline run)
|
||||
— procedure in `tests/live.md`, pending a real browser (same dev-env
|
||||
caveat as M2/M3)
|
||||
- [ ] **Future want:** live transcription on the **server engine** — stream
|
||||
mic audio over a WebSocket (D-011's escape hatch) to faster-whisper
|
||||
(D-013) for logged-in users on weak devices. Needs its own decision
|
||||
entry; blocked on M5 landing first.
|
||||
- [x] Live transcription on the **server engine** (D-019) — `GET
|
||||
/api/transcribe/live` upgrades to a WebSocket (`src/server/live.ts`,
|
||||
wired in `src/index.ts`); the client streams mic PCM and runs the
|
||||
browser-engine UI unchanged otherwise (`App.tsx`'s `startLive`/`stopLive`
|
||||
branch on `useServer`). Landed already but was undocumented here and
|
||||
untested; brought up to the rest of the codebase's bar (D-032):
|
||||
`createLiveWebSocket` now takes the sidecar as an injected dependency
|
||||
like `createTranscribeHandlers`, the WS route validates
|
||||
`language`/`task` the same way the HTTP route does, and
|
||||
`tests/server-live.test.ts` covers the bridge against a fake sidecar.
|
||||
|
||||
---
|
||||
|
||||
|
||||
Reference in new issue
Block a user