Commit Graph
100 Commits
Author SHA1 Message Date
Palash Debnath f53be49e86 style: apply frontend formatter to import regression tests 2026-09-17 12:35:55 +05:30
Palash Debnath 8538702ecb fix(imports): preserve legacy text encodings in Electron and web 2026-09-17 12:27:56 +05:30
Palash Debnath 18c543484b Merge pull request #2161 from debpalash/fix/electron-release-empty-signing
Fix Electron release packaging with missing signing credentials
2026-09-16 16:08:26 -07:00
Palash Debnath 54c89453a4 Handle empty signing secrets and retry immutable Electron release tags 2026-09-17 04:16:51 +05:30
Palash Debnath 135ccd09ec Merge pull request #2158 from debpalash/fix/release-review-hardening
Harden Electron release authorization and playback continuity
2026-09-16 14:51:56 -07:00
Palash Debnath 7114315e04 Check both signing credentials stay scoped to packaging 2026-09-17 03:03:04 +05:30
Palash Debnath 3d7c7710a1 Hide unavailable remote GPU metrics and use utilization fallback 2026-09-17 02:43:32 +05:30
Palash Debnath 1fea27543b Harden release authorization and preserve demo playback across languages 2026-09-17 02:38:09 +05:30
Palash Debnath c0a17f4272 Merge pull request #2157 from debpalash/fix/linux-electron-setup-sidebar
Make Electron primary and integrate desktop and README fixes
2026-09-16 13:44:29 -07:00
Palash Debnath 6cb1200b4e Merge branch 'velixio_dev' into fix/linux-electron-setup-sidebar 2026-09-17 01:55:33 +05:30
Palash Debnath 50d01567d4 Keep read-only telemetry outside worker drain and shutdown gates 2026-09-17 01:55:23 +05:30
Palash Debnath a91193d29d Merge branch 'review/gpu-2149' into fix/linux-electron-setup-sidebar 2026-09-17 01:47:57 +05:30
Palash Debnath 38d588fe93 Verify eager fallback remains usable on all desktop platforms 2026-09-17 01:47:52 +05:30
Palash Debnath 6896a19f91 Apply required frontend formatting to existing Electron transition changes 2026-09-17 01:47:18 +05:30
Palash Debnath 9fdb2b2fc9 Derive branding version checks from the canonical app version 2026-09-17 01:46:10 +05:30
Palash Debnath 835a2a9964 Gate Electron publication on signing checks or an explicit unsigned exception 2026-09-17 01:43:52 +05:30
Palash Debnath 03460c89b7 Merge branch 'velixio_dev' into fix/linux-electron-setup-sidebar 2026-09-17 01:42:08 +05:30
Palash Debnath 2ee455cc1f Prevent telemetry admission while the worker is retiring 2026-09-17 01:41:59 +05:30
Palash Debnath 715bbbde70 Merge branch 'velixio_dev' into fix/linux-electron-setup-sidebar 2026-09-17 01:41:14 +05:30
Palash Debnath 9ca9f74255 Merge branch 'review/gpu-2149' into fix/linux-electron-setup-sidebar 2026-09-17 01:41:08 +05:30
Palash Debnath b67aed2794 Resolve GPU stability review privacy, localization and test isolation findings 2026-09-17 01:40:58 +05:30
Palash Debnath 8804ddac9a Own telemetry probes through shutdown and localize Electron metrics 2026-09-17 01:40:58 +05:30
Palash Debnath 2faaafa9fc Merge remote-tracking branch 'origin/main' into review/gpu-2149 2026-09-17 01:39:08 +05:30
Palash Debnath 002601072e Merge branch 'review/readme-2153' into fix/linux-electron-setup-sidebar
# Conflicts:
#	CHANGELOG.md
2026-09-17 01:36:38 +05:30
Palash Debnath 3709517bf6 Credit the README transition contribution 2026-09-17 01:36:22 +05:30
Palash Debnath 8b5b44d5ea Validate manual Tauri draft assets without premature publication 2026-09-17 01:34:52 +05:30
Palash Debnath 016670c6ad Scope legacy launcher checks to Tauri and protect Electron backend reuse 2026-09-17 01:33:33 +05:30
Palash Debnath 39d66d5299 Prepare v0.5.3 for Electron and the final Tauri update 2026-09-17 01:30:17 +05:30
Palash Debnath 18e54e2352 Sequence the Electron transition after the final Tauri draft 2026-09-17 01:29:01 +05:30
Palash Debnath 1616f9dcab Verify compact README catalogs remain linked and complete 2026-09-17 01:24:47 +05:30
Palash Debnath 623d00eebf Document the integrated Electron transition and CI repairs 2026-09-17 01:24:31 +05:30
Palash Debnath 867cd3c4ac Merge branch 'fix/dubbing-demo-editor' into fix/linux-electron-setup-sidebar 2026-09-17 01:23:57 +05:30
Palash Debnath 0a556e78ba Cover pause and sample-switch playhead continuity 2026-09-17 01:23:53 +05:30
Palash Debnath d3f2d06a26 Merge branch 'fix/macos-sidebar-titlebar' into fix/linux-electron-setup-sidebar 2026-09-17 01:22:42 +05:30
Palash Debnath cab5766d28 Merge branch 'review/readme-2153' into fix/linux-electron-setup-sidebar
# Conflicts:
#	README.md
2026-09-17 01:22:42 +05:30
Palash Debnath 7098c3f809 Test offline notification state without hiding desktop updates 2026-09-17 01:22:23 +05:30
Palash Debnath ba954645b3 Clarify Electron transition without blocking desktop contributions 2026-09-17 01:22:06 +05:30
Palash Debnath 9af0fcbd89 Merge branch 'fix/macos-sidebar-titlebar' into fix/linux-electron-setup-sidebar
# Conflicts:
#	CHANGELOG.md
2026-09-17 01:21:38 +05:30
Palash Debnath fc2d94d266 Merge main and resolve sidebar and disabled notification review findings 2026-09-17 01:21:27 +05:30
Palash Debnath a06ef166aa Merge branch 'fix/dubbing-demo-editor' into fix/linux-electron-setup-sidebar
# Conflicts:
#	CHANGELOG.md
2026-09-17 01:21:27 +05:30
Palash Debnath 1f978ef3ee Merge main and preserve A/B playback position when switching samples 2026-09-17 01:20:22 +05:30
Palash Debnath 853331f3ec Merge branch 'feat/tauri-native-parity' into fix/linux-electron-setup-sidebar
# Conflicts:
#	frontend/src-tauri/src/watch_folder_core.rs
#	frontend/src-tauri/src/wayland_shortcut_core.rs
2026-09-17 01:19:59 +05:30
Palash Debnath fe35bf6737 Merge main and resolve native bridge review findings 2026-09-17 01:19:40 +05:30
Palash Debnath 22637a7954 Align CI fixtures with safe dubbing and compact Electron documentation 2026-09-17 01:18:48 +05:30
Palash Debnath 2b0e43da05 Refresh and brand VoiceStudio installable agent skills 2026-09-17 01:10:37 +05:30
Palash Debnath fd9a9aa3df Improve VoiceStudio Original dark theme accent contrast 2026-09-16 22:17:00 +05:30
Palash Debnath 5af8fe6967 Make Electron the default desktop and refresh setup documentation 2026-09-16 22:11:59 +05:30
Palash Debnath 559f3fc0c1 Respect Electron matrix architecture for macOS packaging 2026-09-16 21:47:27 +05:30
Palash Debnath 4ce42decdd Keep Linux Electron installer names consistent with updater feeds 2026-09-16 21:45:15 +05:30
Palash Debnath 7af1181fc2 fix(desktop): complete shared native bridge contracts 2026-09-16 21:36:14 +05:30
Palash Debnath 3470f5b2d8 Make runtime tests honor macOS paths and CUDA availability 2026-09-16 21:32:11 +05:30
Palash Debnath 28d29f7c71 Handle detached navigation failures in integration and support screens 2026-09-16 21:28:15 +05:30
Palash Debnath 0b8de98783 Prepare Electron desktop releases and final Tauri sunset workflow 2026-09-16 21:24:27 +05:30
Palash Debnath 8a1e6eb058 Merge remote-tracking branch 'origin/main' into fix/linux-electron-setup-sidebar
# Conflicts:
#	README.md
2026-09-16 17:27:32 +05:30
Palash Debnath f21fab4e03 Polish Electron navigation and theme, refresh README and agent skills 2026-09-16 17:25:00 +05:30
Palash Debnath ae82468ec3 Update README.md 2026-09-16 17:23:24 +05:30
Palash Debnath a966ae20b6 docs: restore trending badge 2026-09-16 13:15:18 +05:30
Palash Debnath 3f1f9bf9d0 docs: refresh Electron showcase and packaging prep 2026-09-16 13:09:32 +05:30
Palash Debnath 1d5d3d873e feat: refresh support and integrations experience 2026-09-16 12:38:16 +05:30
Palash Debnath 61d52944f2 fix(dub): correct long timeline rendering and repeated ASR context 2026-09-15 20:02:18 +05:30
Palash Debnath 36ccec5e61 feat(dub): show translation output and live logs in shared agent footer 2026-09-15 19:38:20 +05:30
Palash Debnath 730c7f377c feat(dub): save custom agent translation style instructions 2026-09-15 19:10:24 +05:30
Palash Debnath 7758ccc500 fix(dub): preserve original sound outside dialogue intervals 2026-09-15 19:02:25 +05:30
debpalash 49618ea893 chore: record React DOM type dependency in Bun lockfile 2026-09-15 17:55:00 +05:30
Palash Debnath 0a6ea976cb fix(dub): preserve complete speech and reject silent partial output 2026-09-15 15:44:57 +05:30
debpalash 2e7edb091d docs: note dubbing demo improvements 2026-09-15 15:36:28 +05:30
debpalash d47884ed14 fix(electron): improve dubbing demo playback and editing 2026-09-15 15:36:12 +05:30
debpalash 332d09e1a0 fix(electron): register notification hit region after titlebar drag regions 2026-09-15 15:25:03 +05:30
Palash Debnath c524ea3235 fix(electron): widen persistent secondary sidebars and fit video controls 2026-09-15 15:14:22 +05:30
Palash Debnath f137333abd fix(electron): queue early video playback and pass compositing launch flag 2026-09-15 15:06:26 +05:30
Palash Debnath 3569ac2d24 fix(electron): render video preview posters and document Linux compositing workaround 2026-09-15 14:59:58 +05:30
Palash Debnath d6ca24a6bb docs: link Linux onboarding and sidebar notes to PR 2129 2026-09-15 14:48:54 +05:30
Palash Debnath a4cfc49af2 fix(electron): polish Linux onboarding and workspace sidebar controls 2026-09-15 14:46:33 +05:30
debpalash 4c3766c0c9 docs: note macOS shell improvements in changelog 2026-09-15 12:13:39 +05:30
debpalash a0e3347639 fix(electron): refine macOS sidebar and titlebar controls 2026-09-15 12:13:12 +05:30
Palash Debnath 975799d4dd docs: note shared native desktop contracts 2026-09-14 21:03:24 -07:00
Palash Debnath bc8f563987 fix(desktop): complete shared native bridge contracts 2026-09-14 21:01:55 -07:00
Palash Debnath 4e55180f70 fix(electron): isolate packaged runtime setup 2026-09-14 11:25:07 -07:00
Palash Debnath dad59c1318 style: format shared frontend contracts 2026-09-14 11:05:42 -07:00
Palash Debnath 141b42f7a6 fix: restore desktop integration contracts 2026-09-14 10:53:55 -07:00
Palash Debnath f832d616f7 feat(electron): add full VoiceStudio desktop app 2026-09-14 10:22:23 -07:00
Palash Debnath eaf8bb9538 Update README.md 2026-09-10 22:50:20 -07:00
Palash Debnath 8932b09339 Merge pull request #2043 from debpalash/fix/mcp-timeout-follows-backend
fix(mcp): tools wait for the backend's own budget, not a fixed 120 s
2026-09-10 16:37:46 -07:00
Palash Debnath a35c7babdf docs(mcp): the first generation also downloads the model inside the budget 2026-09-10 16:16:01 -07:00
Palash Debnath bd9be744eb Merge remote-tracking branch 'origin/main' into fix/mcp-timeout-follows-backend
# Conflicts:
#	CHANGELOG.md
2026-09-10 16:15:59 -07:00
Palash Debnath 14778aaba4 Merge pull request #2044 from debpalash/fix/pytorch-whisper-vram-budget
fix(asr): PyTorch Whisper budgets the VRAM its model needs
2026-09-10 16:15:17 -07:00
Palash Debnath 5ca94b7d72 Merge remote-tracking branch 'origin/main' into fix/pytorch-whisper-vram-budget
# Conflicts:
#	CHANGELOG.md
2026-09-10 15:52:34 -07:00
Palash Debnath 7247cef1b6 Merge remote-tracking branch 'origin/main' into fix/mcp-timeout-follows-backend
# Conflicts:
#	CHANGELOG.md
2026-09-10 15:52:21 -07:00
Palash Debnath ff5bad5a92 Merge pull request #2042 from debpalash/fix/transcribe-m4a
fix(asr): PyTorch Whisper transcribes M4A through the ffmpeg fallback
2026-09-10 15:51:53 -07:00
Palash Debnath e7911e3e97 fix(asr): reduced VRAM budgets only for exact OpenAI Whisper ids
Review follow-up. The budget matched model names by substring, so a custom
repo whose name contains "turbo", "small" or "base" (or a word such as
"database") got a reduced budget and could be admitted to CUDA without
enough memory. Reduced budgets now apply only to the exact OpenAI
checkpoint ids, .en variants included. Any other repository, fine-tunes
included, keeps the conservative 5.0 GB, as the engine doc says.
2026-09-10 15:33:11 -07:00
Palash Debnath d37da79b34 fix(mcp): generation waits also cover the backend's queue clock
Review follow-up. A generation first waits in the GPU pool's queue, on its
own clock (GPU_QUEUE_TIMEOUT_S, 1800 s by default), before its execution
budget starts, so a 630 s wait could still give up before the backend
returned its queue error. The generate wait now adds the queue budget.
Transcription is unchanged: run_transcribe_guarded starts its 300 s clock
at submission, so queue time already counts against it.

Parity tests pin each tool's wait above the backend's own worst case,
from ASR_TRANSCRIBE_TIMEOUT_S, GPU_QUEUE_TIMEOUT_S and generate_timeout_s
on cpu, cuda and mps. A later backend change that outgrows the MCP wait
now fails a test. A new case covers a CPU budget larger than the GPU one.
2026-09-10 15:31:14 -07:00
Palash Debnath b4cfd7aac0 fix(asr): keep readable audio at its native rate; cover the M4A route
Review follow-up. The shared loader resamples soundfile-readable audio to
16 kHz with a linear interpolation, which can alias 44.1/48 kHz input into
Whisper's band. PyTorch Whisper now reads such audio at its native rate,
as before, so the pipeline's band-limited resampler converts it. Only
files soundfile can't open (MP4/M4A) take the ffmpeg path, which resamples
properly. New tests: a 48 kHz stereo WAV reaches the pipeline at 48 kHz
without ffmpeg, a POST /transcribe with an .m4a returns 200, and the MCP
tool names M4A bytes .m4a.
2026-09-10 15:30:23 -07:00
Palash Debnath e501a596d3 docs(changelog): note the PyTorch Whisper VRAM budget fix (#2044) 2026-09-10 15:06:52 -07:00
Palash Debnath 033f8f2f64 fix(asr): PyTorch Whisper budgets the VRAM its model needs
The CUDA preflight demanded 5.0 GB of free VRAM for every model, sized for
full large-v3. The default model is large-v3-turbo, which the pipeline
loads in fp16: about 1.6 GB of weights, not the 3.2 GiB fp32 figure in the
old comment. So a 6 GB card with nothing else resident reported 5.0 GB
free and was sent to CPU every time, although CUDA ran the same audio in
37 s against minutes on CPU.

The budget is now fp16 weights + 1.5 GB workspace (batch 16) + 0.5 GB
headroom, per model and capped at the old 5.0 GB. That is 3.6 GB for turbo
and 5.0 GB for full large-v3 and any unrecognised model. Both CPU-fallback
warnings name the model and the OMNIVOICE_ASR_VRAM_PREFLIGHT=0 opt-out.
The engine doc lists the budgets.

Fixes #2041
2026-09-10 15:06:45 -07:00
Palash Debnath 39c348af26 docs(changelog): note the MCP timeout fix (#2043) 2026-09-10 15:05:25 -07:00
Palash Debnath 58d590a686 fix(mcp): tools wait for the backend's own budget, not a fixed 120 s
The MCP tools gave up on a backend POST after OMNIVOICE_MCP_TIMEOUT_S,
default 120 s, while the backend's own budgets run longer: 300 s for ASR,
and 300 s or more for generation. A transcription the backend would have
finished came back as an empty client-side timeout, and the abandoned
job kept holding the worker. The docstring said the timeout followed
OMNIVOICE_GENERATE_TIMEOUT_S, but it never read it.

Unset, each tool now waits for the backend's budget plus 30 s, never less
than 120 s. transcribe follows OMNIVOICE_ASR_TRANSCRIBE_TIMEOUT_S, and
generate_speech follows the larger of the GPU and CPU generation budgets,
scaled by text length like the backend. An explicit
OMNIVOICE_MCP_TIMEOUT_S still wins. docs/mcp.md says so.

Fixes #2040
2026-09-10 15:05:18 -07:00
Palash Debnath 6ff9ab80f8 docs(changelog): note the M4A transcribe fix (#2042) 2026-09-10 15:05:01 -07:00
Palash Debnath aef275a041 fix(asr): PyTorch Whisper transcribes M4A through the ffmpeg fallback
PyTorchWhisperBackend.transcribe read uploads with soundfile, and
libsndfile cannot open MP4/M4A (AAC). /transcribe and the MCP tool both
accept .m4a, so every such upload failed with "Format not recognised"
before ASR ran. It now uses _load_audio_16k_mono_f32, the loader the
sherpa backend already uses: soundfile first, then the validated ffmpeg
path, returning the 16 kHz mono float32 Whisper expects.

Fixes #2039
2026-09-10 15:04:53 -07:00
Palash Debnath 0525a078e0 Merge pull request #2035 from debpalash/fix/cosyvoice-advisory-floors
test(cosyvoice): raise the advisory floors to GitHub's fixes
2026-09-10 14:57:12 -07:00
Palash Debnath 083e7965f8 Merge pull request #2037 from debpalash/fix/sidecar-ready-diagnostics
fix(sidecar): a failed ready handshake names its cause
2026-09-10 14:37:51 -07:00