You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Speech model picker: move language out of the sidebar into its own dropdown below the model #277
The transcription picker (Settings → Speech model) opens a modal with a list of languages on the left and that language's models on the right (src/rune_ui/picker.rs). The left column looks like a navigation sidebar for browsing models, but it also decides the transcription language: choosing a model sends ChooseModel { model, language } with whichever language row is highlighted, and that pair becomes the saved selection.
Since the language is set by something that looks like navigation, it's easy to change it without noticing. The settings row label (<Language> · <Model>) makes the two read as one choice.
Proposal
Split them into two controls:
Speech model: pick the model by itself (the picker stops using a language sidebar to filter models).
Language: a separate dropdown right below the model, listing the languages that model supports. For single-language models (English-only Parakeet/Moonshine) it can show the one language as fixed or disabled.
Things to keep:
Per-language recommendations (choices_for_runtime), for example as badges or ordering in the model list, rather than as a filter driven by the sidebar.
If you switch to a model that doesn't support the current language, fall back to that model's default language and make the change visible, instead of silently keeping an invalid pair.
Changing only the language should still trigger whatever per-language install or preparation the model needs (Apple speech models are per-locale).
Acceptance
Browsing the model list never changes the transcription language.
The language is changed only from its own dropdown, which is shown below the model in Settings.
The saved TranscriptionSelection is always a pair the selected model supports.
PR for review: #279. The picker now lists every model, with the saved language's recommendations first, and the language has its own select below the speech model in Settings. If a model doesn't support the current language, Hex switches to that model's default language and says so.
Activity
thdxr commentedon Oct 28, 2026
PR for review: #279. The picker now lists every model, with the saved language's recommendations first, and the language has its own select below the speech model in Settings. If a model doesn't support the current language, Hex switches to that model's default language and says so.
— from 𝕺𝖕𝖊𝖓𝕮𝖔𝖉𝖊
Speech model picker: language moves to its own select below the model (…