fix(desktop): make recording and dubbing reliable (#1481)

* fix(ui): keep scaled desktop shell responsive

* fix(linux): support desktop microphone capture

* fix(ui): update the centered VoiceStudio brand

* fix(audio): fall back when recorder start is unsupported

* fix(desktop): use the app header as titlebar

* feat(audio): add live microphone input controls

* fix(dub): recover from missing transcription models

* fix(dub): make pipeline stages actionable

* fix(asr): recover low-memory transcription

* docs: record desktop reliability fixes

* fix(ui): use semantic error banner border

* fix(dub): harden recovery and recording fallbacks
This commit is contained in:
Palash Debnath
2026-08-10 22:43:37 +00:00
committed by GitHub
parent e6728cf068
commit 7cde2fcd06
83 changed files with 2937 additions and 372 deletions
+28 -4
View File
@@ -33,7 +33,12 @@ Everything above, plus the toolchain:
```bash
# Debian / Ubuntu
sudo apt install libwebkit2gtk-4.1-dev libayatana-appindicator3-dev librsvg2-dev libssl-dev libxdo-dev build-essential
sudo apt-get update
sudo apt-get install -y \
libwebkit2gtk-4.1-dev libgtk-3-dev libpango1.0-dev libcairo2-dev \
libsoup-3.0-dev libgdk-pixbuf-2.0-dev \
libayatana-appindicator3-dev librsvg2-dev libssl-dev libxdo-dev \
libasound2-dev build-essential curl wget file
# Fedora
sudo dnf install webkit2gtk4.1-devel libappindicator-gtk3-devel librsvg2-devel openssl-devel
@@ -51,11 +56,30 @@ Everything above, plus the toolchain:
git clone https://github.com/debpalash/VoiceStudio.git
cd VoiceStudio
bun install
bun run desktop-prod
source "$HOME/.cargo/env" # only needed in a shell opened before rustup finished
bun desktop # development build with hot reload
```
The first launch creates the Python venv via `uv`, syncs deps, and downloads
model weights (~2.4 GB). Subsequent launches start in seconds.
Use `bun run desktop-prod` instead when you need to build and launch the
production bundle. Both commands create the Python environment via `uv`, sync
dependencies, and start the backend automatically; do not start the backend in
a second terminal.
The first Rust build takes longer because Cargo compiles the Tauri shell. If it
fails with `Package gdk-3.0 was not found`, `pango.pc` missing,
`libsoup-3.0` missing, or `javascriptcoregtk-4.1` missing, install the complete
Debian/Ubuntu package block above. Those messages mean the development
libraries are absent, not that `PKG_CONFIG_PATH` needs changing. Verify them
with:
```bash
pkg-config --exists \
gdk-3.0 pango cairo libsoup-3.0 javascriptcoregtk-4.1 gdk-pixbuf-2.0 \
&& echo "Tauri system libraries are ready"
```
The first app launch downloads model weights on demand. Subsequent launches
reuse the Rust build, Python environment, and installed models.
## Install (AppImage)