Model downloads no longer look like a freeze
Only speech recognition used to show download progress; the other models sat behind a motionless "loading" line for the entire time they were fetching weights — and a few hundred megabytes of that looks exactly like a freeze. Every card now shows progress and bytes downloaded, and the downloader probes the available sources first and takes the fastest one.

Progress is visible on every card
The first time you enable a model, it has to fetch its weights. Speech synthesis is 515 MB, Thai is 110 MB, Chinese speech is 101 MB — and on the machine that looks like a freeze, because all the interface showed was a motionless "loading" line.
Every model now does what speech recognition already did: the card shows which file is downloading, what percentage is done, and how many megabytes have arrived. Multi-file models are tracked as a whole, so the count does not restart from zero on each file.
It checks which source is faster first
The same weights are usually available from several addresses. The old behaviour was a fixed order: try the first, exhaust its retries, then move on — and "unreachable" is sometimes not a failure to connect, just a speed low enough to be useless.
Before downloading, a very small probe now runs against the largest file and the fastest source wins; unreachable ones are skipped outright. The declared order is only a fallback for when every probe fails.
This is safe because every file is pinned to a size and a checksum: whether a file is correct has nothing to do with which server answered. Switching source is a speed decision, not a trust decision.