-
Notifications
You must be signed in to change notification settings - Fork 0
Whisper Transcriber: run on phones, and stop the bundle phoning home#132
Whisper Transcriber: run on phones, and stop the bundle phoning home#132YurMil merged 1 commit intomainYurMil/cadautoscript.com:mainfrom feat/whisper-transcriber-mobileYurMil/cadautoscript.com:feat/whisper-transcriber-mobileCopy head branch name to clipboard
Conversation
Picks up the mobile work from the source repository: fp16 instead of fp32, a WASM default and a 41 MB model on mobile, tighter conveyor windows, one mobile-first interface, and no third-party requests at all — the new stylesheet had been pulling a web font from Google, which this site's CSP blocks and which would have leaked every visitor's IP. Documentation follows what the utility now does, in all six locales: - download size is per device (41 MB WASM / 77 MB WebGPU) instead of one wrong number quoted for both paths; - control names match the interface again (Start Transcription, Record Audio, Clear File); - conveyor windows are documented as 30/5 on desktop and 15/3 on mobile; - a new "on a phone" section covers what is adjusted automatically and the two things that still need the user's attention; - privacy section states that nothing but the pinned model is fetched, and that the build is checked for it before publishing. Typecheck, lint and the six-locale build pass. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
Caution The consumer version of Gemini Code Assist on GitHub has been sunset. All code review activity has officially ceased. |
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
This pull request has been ignored for the connected project Preview Branches by Supabase. |
💡 Codex Reviewcadautoscript.com/static/utility-apps/whisper-transcriber/assets/whisper.worker-BizJaRRu.js Line 2844 in be14e5e
If a model was prepared under Auto and fell back to WASM with a fallback reason (notably ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
If Codex has suggestions, it will comment; otherwise it will react with 👍. Codex can also answer questions or update the PR. Try commenting "@codex address that feedback". |
Republishes the embedded transcriber so it works on a phone, and corrects the documentation that no longer matched it. Source changes: YurMil/ws-speech-text#3 (merged).
Reported symptom: on an iPhone the page reloaded itself right after the model finished downloading — the browser killing the tab for memory, not an error the app could catch.
What changed for users
The interface is now mobile-first: one column on a phone, tap targets at least 44 px, 16 px form fields so iOS does not zoom on focus, and the screen is kept awake while work is in flight.
The leak worth reviewing
The mobile branch arrived with a new stylesheet that opened with
@import url('https://fonts.googleapis.com/…').Our CSP (
style-src 'self',font-src 'self' data:) blocks it, so the typeface never arrived and the design silently fell back to a system font — while every page load still announced the visitor's IP to Google. The privacy section of this utility's documentation, in all six locales, says the only outbound request is the pinned model. That would have been false.It is the same class of bug as the jsDelivr one in #131, one layer down, and my artifact audit did not catch it because it only inspected the entry HTML. That gap is now closed upstream:
pnpm verifyfails on any absolute URL in CSS and ratchets JS origins against a reviewed allowlist. Regression-tested by re-adding the import — the build fails withstylesheet reaches a third party.Documentation
Rewritten in all six locales to match the shipped utility:
src/data/utilityShellPages.tsxcarries the same corrected download figure and a mobile line in the feature list.Verification
The artifact was served with the exact headers from this repository's
vercel.json— samescript-src,connect-srcandPermissions-Policy— and a real transcription was run on both engines:Zero external requests recorded. Layout holds at 375 px with no horizontal overflow and no tap target under 44 px.
npm run typecheck,npm run lint(0 errors) and the six-localenpm run buildpass; the artifact manifest checksums verify and its build id resolves to a commit on the source repository'smain.Not verified: a real iPhone. The tab-kill that prompted this is device behaviour I cannot reproduce locally. Worth a live check after deploy — the utility should select WASM and quote ~41 MB on its own, and the badge above the drop zone shows which path it picked before anything downloads.
🤖 Generated with Claude Code