Deep Audit Correction v1.21: pt/el Translations + Whisper WASM STT Download#89
Merged
Conversation
- Add downloadVoiceModels function to voiceCommandService.ts - Wire VoiceModelDownloadModal to trigger actual model downloads via @huggingface/transformers - Add WASM model download UI to VoiceSettingsSection with download button - Add voice.wasmModels i18n keys to all locales (en, de, fr, es, it, ar, he, ja, zh, pt, el) - Add voiceWasmDownloadError to VoiceSettings type - Build completes successfully, i18n parity verified (2346 keys × 11 locales)
|
CodeAnt AI is reviewing your PR. Thanks for using CodeAnt! 🎉We're free for open-source projects. if you're enjoying it, help us grow by sharing. Share on X · |
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
CodeAnt AI finished reviewing your PR. |
CodeAnt finding 1 — ja/writer.json broken interpolation (HIGH):
- Restore canonical {{title}} and {{selection}} placeholders that were
accidentally localised to {{タイトル}} / {{選択内容}} — calling code
still passes English variable names so localised names render as
literal strings.
CodeAnt finding 2 — VoiceSettingsSection TTS path unreachable:
- Add dedicated "Download TTS Model" button alongside the STT button;
previously hardcoded to 'stt' so Kokoro download was unreachable.
- State var downloadModelType threads the choice into VoiceModelDownloadModal.
CodeAnt finding 3 — VoiceModelDownloadModal non-abortable download:
- Wire AbortController in VoiceModelDownloadModal; handleCancel calls
abort() so closing/cancelling stops the in-flight fetch.
- downloadVoiceModels(modelType, signal) in voiceCommandService already
accepts and respects the AbortSignal at every checkpoint.
Additional (same branch pass):
- CloudSyncBackend LWW metadata envelope (P2-1): wrap save payloads in
{data, meta:{lastModified,deviceId,version}} for conflict resolution;
update cloudSyncBackend tests (+8 tests, 19 total pass).
- pandocTauri test: +3 edge-case assertions.
- Locale sweep (pt/el/ja/zh/de/fr/es/it/ar/he): translation quality
corrections across 10 languages; rebuild all 11 public/locales bundles.
- CLAUDE.md: update Beta locale count and i18n rebuild note.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
VoiceModelDownloadModal uses useAppSelector/useAppDispatch; the VoiceSettingsSection test renders it without a Redux Provider → all 9 tests threw "could not find react-redux context value". Fix: mock the modal component entirely (returns a sentinel div when open); no Provider needed. docs: update AUDIT.md, README.md, docs/VOICE_MASTER_PLAN.md for v1.21 — 2348 keys × 11 locales, v1.21.0 version badge, Voice Phase 3 model download UI marked complete, AUDIT.md v1.21 delivery table added. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…tion pending VoiceModelDownloadModal (STT + TTS, AbortController) shipped in v1.21. Remaining P1-2 work: VAD → Inference → Transcript pipeline integration. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
lib-* chunks are Rolldown vendor bundles (< 7000 KB vendor limit). Only index-* is the real entry point. The lib- detection was left from an unfinished bundle optimization session and caused a false budget breach (5906 KB against the 4500 KB entry limit). Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…nload-artifact All three SHA pins were invalid (unresolvable commits) causing every manual Stryker run to abort at "Set up job" within ~17s. Updated to SHAs matching the working ci.yml: actions/cache 5a3ec84… → 27d5ce7f… (v5.0.5) actions/upload-artifact 4cec3d8… → 043fb46d… (v7.0.1) actions/download-artifact cc203385… → 3e5f45b2… (v8) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
qnbs
enabled auto-merge (squash)
June 8, 2026 23:24
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
User description
Summary
This PR implements the following items from the Deep Audit Correction plan:
P1-5: pt/el Translations (COMPLETED)
P1-2: Whisper WASM STT Model Download (COMPLETED)
downloadVoiceModels()function invoiceCommandService.tsVoiceModelDownloadModalto trigger actual model downloads via @huggingface/transformersVoiceSettingsSectionwith download buttonvoice.wasmModelsi18n keys to all localesvoiceWasmDownloadErrortoVoiceSettingstypeChanges
services/voice/voiceCommandService.ts- Added downloadVoiceModels functioncomponents/voice/VoiceModelDownloadModal.tsx- Wired to actual download functioncomponents/settings/VoiceSettingsSection.tsx- Added WASM model download UItypes.ts- Added voiceWasmDownloadError fieldValidation
CodeAnt-AI Description
Add voice model downloads in settings and refresh locale text
What Changed
Impact
✅ Easier setup for offline voice features✅ Clearer voice download status and failures✅ Fewer broken or untranslated labels💡 Usage Guide
Checking Your Pull Request
Every time you make a pull request, our system automatically looks through it. We check for security issues, mistakes in how you're setting up your infrastructure, and common code problems. We do this to make sure your changes are solid and won't cause any trouble later.
Talking to CodeAnt AI
Got a question or need a hand with something in your pull request? You can easily get in touch with CodeAnt AI right here. Just type the following in a comment on your pull request, and replace "Your question here" with whatever you want to ask:
This lets you have a chat with CodeAnt AI about your pull request, making it easier to understand and improve your code.
Example
Preserve Org Learnings with CodeAnt
You can record team preferences so CodeAnt AI applies them in future reviews. Reply directly to the specific CodeAnt AI suggestion (in the same thread) and replace "Your feedback here" with your input:
This helps CodeAnt AI learn and adapt to your team's coding style and standards.
Example
Retrigger review
Ask CodeAnt AI to review the PR again, by typing:
Check Your Repository Health
To analyze the health of your code repository, visit our dashboard at https://app.codeant.ai. This tool helps you identify potential issues and areas for improvement in your codebase, ensuring your repository maintains high standards of code health.