Podcast voices: an iPhone note on where the other voices live

Safari hands web pages one voice per language, whatever the iPhone has
installed, so the picker cannot fix that on iOS. It now carries the way out
instead: Accessibility -> Spoken Content -> Voices -> your language, download
an Enhanced/Premium voice and make it preferred. The speaker button wears an
amber dot while the note is waiting, and the voice-less banner appends the
same guidance. Detection covers iPadOS too (maxTouchPoints, since it reports
as a Mac).

The suite fakes an iPhone user agent, a single Daniel voice and pins the dot
and the note's actual steps (37 checks). Version 0.7.5, SW v97.
This commit is contained in:
Martin Dvořák 2026-10-16 13:51:12 +00:00
commit 9882d775e7
7 changed files with 83 additions and 7 deletions

View file

@ -1525,7 +1525,13 @@ Things I chose while building, with the reasoning:
down, a male name preferred — "preferably male" was the ask), the player picks the best one
automatically and offers a picker for everything in the episode's language, and the choice is
remembered per language. The suite grew to 34 checks (voice ranking, the filtered picker,
persisting a pick, same-line silence, line following, manual-scroll suspension).
persisting a pick, same-line silence, line following, manual-scroll suspension). **Follow-up
2 (0.7.5):** iOS is the special case the picker cannot fix — Safari hands web pages one voice
per language, so on an iPhone the panel now carries the settings path instead (Accessibility →
Spoken Content → Voices → language → Enhanced/Premium, set as preferred) and the speaker
button wears an amber dot while that note is waiting; the voice-less banner appends the same
guidance. Detected via the user agent (iPadOS included through `maxTouchPoints`); the suite
fakes an iPhone and pins the note, its steps and the dot (37 checks).
102. **An API key is not a login.** "When trying to use a different provider on the web app it
glitches out completely" — a photo of the first-run gate with iOS's saved-password sheet laid