Files
whisper_web/src/index.html
T
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 <[email protected]>
2026-10-29 20:52:13 +01:00

25 lines
1.1 KiB
HTML

<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<link
rel="icon"
href="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Ctext y='.9em' font-size='90'%3E%F0%9F%8E%99%EF%B8%8F%3C/text%3E%3C/svg%3E"
/>
<!-- Relative hrefs: Bun's HTML loader must resolve every <link href> to a
real file (absolute URLs fail the build); it hashes + rewrites them.
The manifest's own icon URLs stay at the fixed /icons/ paths, which
src/index.ts (dev) and scripts/build.ts (production) serve. -->
<link rel="manifest" href="./pwa/manifest.webmanifest" />
<meta name="theme-color" content="#16181d" media="(prefers-color-scheme: dark)" />
<meta name="theme-color" content="#f5f6f8" media="(prefers-color-scheme: light)" />
<link rel="apple-touch-icon" href="./pwa/icons/icon-192.png" />
<title>Whisper Web — on-device speech-to-text</title>
</head>
<body>
<div id="root"></div>
<script type="module" src="frontend.tsx"></script>
</body>
</html>