v0.3.20

debpalash/VoiceStudiov0.3.20Jul 12, 2026by github-actions[bot]

Upgrading?

AI Summary

Fixes a race condition in backend restart detection that caused false errors and moves the uninstaller functionality into the application UI.

Key Highlights

  • Uninstall is now a button in Settings → Storage → 'Remove all data'.
  • Fixed race condition where 'Can't reach backend' errors fired during legitimate restarts.
  • Uninstaller now cleans up backend log folders on Linux and Windows.

New Features

  • UI-based uninstaller with typed confirmation.
  • Uninstall scripts now ship as release assets.
  • Backend log cleanup in uninstaller scripts.

Full Release Notes

The follow-through release. v0.3.19 promised that "Can't reach the local OmniVoice backend" would stop firing while the backend was merely restarting — and then a user hit it anyway, on 0.3.19, because the fix had a race in it. That's closed properly here. Uninstalling also stopped being a thing only maintainers could do: it's now a button in the app, where the person who asked for it can actually reach it.

### Added

- **Uninstall is now in the app: Settings → Storage → "Remove all data".** The v0.3.19 uninstaller was a *script* — which never reached the people who needed it, since anyone who installed the .dmg / .msi / AppImage has no repo to run it from (exactly the case in #1089). The app now lists every folder this install owns with its real size, deletes them behind a typed confirmation, and quits. The **downloaded model weights are a separate, opt-in checkbox**, because that's the standard Hugging Face cache shared with other AI tools on your machine — removing it can delete models OmniVoice never downloaded. Custom and portable install locations are honored, and nothing outside OmniVoice's own folders can be touched. The scripts now also ship as **release assets**, so you can clean up without launching the app at all. (#1089)

### Fixed

- **"Can't reach the local OmniVoice backend" could still fire on 0.3.19 — the fix had a hole.** The app asks the desktop shell whether a start/restart is in progress before showing that error, but the shell learns of a dead backend from a **2-second poll**: when the backend dies mid-generation, the supervisor needs a moment to notice it, record the crash, and flip its state to "restarting". The app was asking **once**, ~3 seconds in — often still hearing "everything's fine" — and dead-ending on the generic toast anyway. A failed connection *contradicts* "everything's fine", so that answer is now treated as stale rather than authoritative: the app keeps retrying briefly, letting the shell catch up, which turns the failure into the "backend is restarting — hang tight" banner (and gives the crash report time to be written, so you get the real cause instead of a guess). A shell that has genuinely given up, or no shell at all, still errors immediately. (#1101)

- **The uninstaller was leaving the backend's log folder behind on Linux and Windows.** It cleaned the app-data, config, and Python-env folders but missed where the backend actually writes `backend.log` / `backend_err.log` — `~/.local/state/OmniVoice` on Linux and `%LOCALAPPDATA%\OmniVoice\Logs` on Windows. Both the scripts and the documented path lists now cover them. (#1089)
### macOS Apple Silicon artifacts

```
0154046993f87772b5bf9b59ec37b7c86c7165aef1d7bc1f1b739dad80f198b6  OmniVoice Studio_0.3.20_aarch64.dmg
e040ef798d57cbd53fefb32c92156be613a4fa0ba257a074d207a0376b7ebe04  OmniVoice Studio.app.tar.gz
6d88bb653fcff10bbe8ac5f52349ea77ab3a2529caca1b1d04188b64a072f1a1  OmniVoice Studio.app.tar.gz.sig
```


### Windows x64 artifacts

```
6288e6d6e8b3a25bbb73fa8b3df48c710435583f30814dc741c49ef7305df7bb *OmniVoice Studio_0.3.20_x64_en-US.msi
d2cb4eea0f2f22e2e4e490419b479b7eb624107a152bf98063cdbc7d68e6ee52 *OmniVoice Studio_0.3.20_x64_en-US.msi.sig
```


### macOS Intel artifacts

```
4efa7bcf171d99889fddc3b57757267bdaa34113f1560dfb80f0998e91e765b3  OmniVoice Studio_0.3.20_x64.dmg
592e4aa42ce75e62a14d359a037d8aceb89ca1dc4a2d89c4ee199e2340d6d326  OmniVoice Studio.app.tar.gz
2064e0597271f7eab2b1308efba927e2cf339ec968821a4b85ce2358bd3e1eff  OmniVoice Studio.app.tar.gz.sig
```

Related Repositories