feat: improve voice options ux #19
No reviewers
Labels
No labels
autorelease: pending
autorelease: tagged
bug
documentation
duplicate
enhancement
good first issue
help wanted
invalid
question
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
nick/announcemint!19
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "ns/fixVoiceOptions"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Improve Voice Options UX when AWS session is invalid
Problem
When the app runs without a valid AWS session and language is set to System Locale (default), the Voice dropdown in Settings is empty because
polly:DescribeVoicescannot be called. Users had no clear indication that voice options depend on a valid AWS session, and no way to refresh the list after signing in.Solution
Changes
sessionOk !== true; disabled state is styled (opacity, cursor). Subtitle "(requires AWS session)" and tooltip when disabled. New "Refresh voices" button below the Voice select; disabled when there's no session or while a refresh is running.loadVoices()returns early if there's no valid session and uses aloadingVoicesflag for the Refresh button state. Watcher onsessionOk: when it changes fromfalsetotrue,loadVoices()is called so the list updates after sign-in. After a successful "Check credentials" in AWS settings,checkSession()is called sosessionOk(and thus the traffic light and voice list) stay in sync. On app load,checkSession()is awaited beforeloadVoices()so a valid session at startup populates voices immediately..drawer-header-disabledand:disabledstyles for the Voice Options header;.drawer-title-hintfor the "(requires AWS session)" text; hover background on drawer headers only when not disabled.