Skip to content

fix(models): show verifying and loading while preparing an installed model - #1748

Open
kitlangton wants to merge 1 commit into
devfrom
preparation-stage
Open

kitlangton wants to merge 1 commit into
devfrom
preparation-stage

Conversation

@kitlangton

@kitlangton kitlangton commented Nov 12, 2026 •

Copy link
Copy Markdown
Collaborator

On macOS and Windows, switching to a speech model that's already downloaded now says "Verifying model" and then "Loading model" instead of "Downloading 0%".
Linux already showed the real stage. Downloads look the same as before.

❌ Before

  1. You pick a model you already have, in the picker or the menu bar.
  2. Hex checks the file and loads it; nothing is downloaded.
  3. ❌ The picker and General's model row said "Downloading" the whole time, because the stage the model worker knew was thrown away and the window was always told "Downloading".

✅ After

  1. Same pick.
  2. The worker records its own stage (verifying, downloading, loading) and the window is told that.
  3. ✅ The picker says "Verifying model", then "Loading model · Ns"; a real download still shows its percentage.
- worker: verify or download -> load        (stage kept in a throwaway counter)
- window: stage = preparing ? Downloading : none
+ worker: Verifying | Downloading -> Loading (stage kept with the task)
+ window: stage = the task's stage

📊 Proof: the picker with a model being prepared, before (what macOS and Windows always showed) and after (an installed model being checked).

Light Dark
Before
After

These stills use the picker's fixture scene with its stage set by hand; the goldens don't change because the scenes set the stage themselves. New test status_reports_the_worker_s_own_stage checks an installed-only pick starts at Verifying, follows the worker to Loading, and a waiting download starts at Downloading.

👀 Read: status() in preparation.rs: a waiting request has no task yet, so it reports the stage its worker will start in. The rest is routine.

Found in a code audit (findings 08.5 and 06.3, the same defect) · no user reports

Checks run

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant