Commit Graph
3628 Commits
Author SHA1 Message Date
Palash Debnath e86e7412f1 Merge remote-tracking branch 'origin/triage/backend-startup' into integ/triage 2026-10-01 21:24:39 +05:30
Palash Debnath 91ebfdac9f Merge remote-tracking branch 'origin/triage/clone-asr-llm' into integ/triage 2026-10-01 21:24:39 +05:30
Palash Debnath d9551b98d7 Merge remote-tracking branch 'origin/triage/text-media' into integ/triage 2026-10-01 21:24:39 +05:30
Palash Debnath 25a671b53b Merge remote-tracking branch 'origin/triage/downloads-storage' into integ/triage 2026-10-01 21:24:39 +05:30
Palash Debnath 7a7fa9d88a Merge remote-tracking branch 'origin/triage/docs-misc' into integ/triage 2026-10-01 21:24:39 +05:30
Palash Debnath 4e0575cc6c Merge pull request #2494 from debpalash/triage/data-integrity
fix(data): delete-after-commit ordering, library filter, resume plan, cache index (#2477 #2480 #2481 #2482 #2483)
2026-10-01 21:23:47 +05:30
Palash DebnathandClaude Sonnet 5.5 3697ba7b10 fix(review): address bot findings on #2497
NOTE blocks stay non-speech in frontend and backend VTT parsing; audio_info
keeps declared sizes for float WAV and restores stream position; ffmpeg shim
uses absolute targets, byte-verified copies, PATH priority, no path logging;
transcription guidance is localized through failure codes in all 21 locales.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-01 20:52:38 +05:30
Palash DebnathandClaude Sonnet 5.5 723fb9ae57 Address review findings on #2496: owner-aware reservation pruning, per-process disk-full diagnosis, post-truncation device names, unreadable .venv, quota errnos
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-01 20:52:03 +05:30
Palash DebnathandClaude Sonnet 5.5 422e2e3c76 fix(review): PR #2499 bot findings - queued-load abandonment, output redaction, WinError 8, heartbeat credit
- model_manager: queued callers wait in short slices and re-check abandonment
- backend.ts/backend-gate: scrub child output (tokens, home paths) at source and at agent hand-off
- failure/error_journal: recognise OSError.winerror == 8 and [WinError 8] without English text
- subprocess_backend: generating heartbeats re-arm recv only, not model-load grace
- tests: event-based sync for voxcpm2 heartbeat test

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-01 20:51:28 +05:30
Palash DebnathandClaude Sonnet 5.5 97e839a7fe fix(profiles): keep lock/consent audio and rows consistent under failure and races
Install staged audio with a restorable backup before committing its row,
restore on any failure, serialize lock/unlock/consent file swaps, name the
FileNotFoundError skip (CodeQL), and drop the real-timer race in the offline
delete test.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-01 20:50:51 +05:30
Palash DebnathandClaude Sonnet 5.5 b2ab6e10bb fix: address bot review on #2498 (complete-snapshot check, last SAY boundary, quoted-tag count)
Require tokenizer, feature-extractor settings and all weight shards before a
cached Whisper snapshot is used, including the first main-ref hit; speak the
last line-start SAY: of unclosed reasoning; keep quoted closing tags without
disabling reasoning removal when the source also contains the tag.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-01 20:50:32 +05:30
Palash DebnathandClaude Sonnet 5.5 f754a9b2a7 fix: address review findings on #2495 (phase-cancelling stereo, mirrored directions in translate, cancelled Mirror, docs, test imports)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-01 20:50:31 +05:30
Palash DebnathandClaude Sonnet 5.5 47b622e711 test(dub): patch the audio_io torchaudio seam instead of removed dub_generate.torchaudio
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-01 19:18:14 +05:30
Palash DebnathandClaude Sonnet 5.5 db4043a5d2 fix(profiles): widen deletion-confirmation query key so electron typecheck passes
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-01 19:17:41 +05:30
Palash DebnathandClaude Sonnet 5.5 3dccef1b0f chore: leave CHANGELOG.md to the maintainer (entries returned separately)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-01 18:58:55 +05:30
Palash DebnathandClaude Sonnet 5.5 f50de4f9dd feat(backend-gate): localized, actionable hints for blocked launch, slow start and synced folders (#2440, #2445, #2465)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-01 18:58:50 +05:30
Palash DebnathandClaude Sonnet 5.5 0d53bd6e46 fix(backend): stop declaring slow hosts failed - probe ceiling, small-host budget, output-aware wait (#2445, #2465)
The pre-launch import probe killed at 30 s and treated a timeout as a broken
runtime (false setup_required / 'environment incomplete' on slow disks and
scanner-contended hosts). It now gets 180 s and a pure timeout is inconclusive.
The default startup budget doubles on small hosts and a backend that is still
printing extends the wait (capped at 3 budgets).

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-01 18:58:48 +05:30
Palash DebnathandClaude Sonnet 5.5 fe71ce5c56 fix(backend): answer /health on the event loop with a cached device label (#2490, #2491)
The liveness probe was a sync route that imported torch and queried the CUDA
driver on every probe from the shared worker pool, so a busy but healthy
backend missed its 1.5 s deadline and was reported as unresponsive.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-01 18:58:48 +05:30
Palash DebnathandClaude Sonnet 5.5 939ec45662 fix(clone): find the installed Whisper the Model Catalogue leaves at a pinned commit (#2442)
snapshot_download(repo, local_files_only=True) only resolves the main ref, which
catalogue installs never write, so cloning reported an installed speech-to-text
model as missing. The model fallback now also tries every cached snapshot of the
configured PyTorch Whisper, large-v3-turbo and large-v3, skipping truncated
ones. Adds end-to-end resolution tests (short, long, supplied, no ASR).

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-01 18:52:57 +05:30
Palash DebnathandClaude Sonnet 5.5 1a30c3abb0 fix(dub): actionable transcription errors for missing ffmpeg and broken pipe (#2404, #2405)
Classify private per-chunk ASR exceptions into fixed public replies, raise a
typed MediaToolUnavailableError from the validated decoder, and expose the
resolved ffmpeg under the bare name so dependencies that exec 'ffmpeg' find
imageio-ffmpeg's renamed binary on every platform.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-01 18:52:07 +05:30
Palash DebnathandClaude Sonnet 5.5 e240580ccc fix(audio): read headers and write sandbox audio without TorchCodec (#2378)
torchaudio 2.9 removed info() and routes load/save through TorchCodec. Add
audio_io.audio_info (header-declared WAV values, soundfile fallback), move the
dub cache checks and gpu_sandbox onto the audio_io helpers, and gate the whole
class with an AST test.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-01 18:52:07 +05:30
Palash DebnathandClaude Sonnet 5.5 5c16e24ab8 Fail fast with actionable errors on full disks; retry first-run uv installer download
- model/engine installs: disk-full is non-retryable, names free space and cache, docs_topic DISK_SPACE_LOW; sidecar uv/weights steps stop blaming the network
- Electron runtime bootstrap: bounded retry for transient installer download failures

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-01 18:50:32 +05:30
Palash DebnathandClaude Sonnet 5.5 4eb3c8a5a6 docs(install): ChromeOS, iPad and browser-only devices (#2438, #2398)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-01 18:49:48 +05:30
Palash DebnathandClaude Sonnet 5.5 5d6078e3b6 test(audio-quality): cover on-demand warnings service and route (#2375)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-01 18:49:09 +05:30
Palash DebnathandClaude Sonnet 5.5 245ba3b8f2 fix(report): scrub the active ASR engine id before it enters a bug report (#2433 review)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-01 18:47:41 +05:30
Palash DebnathandClaude Sonnet 5.5 d18c2cea4c fix(backend): explain permission-denied (reserved) port binds instead of a bare exit code (#2460); document Hermes Agent MCP setup (#2464)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-01 18:47:38 +05:30
Palash DebnathandClaude Sonnet 5.5 8768f7803c fix(voxcpm2): heartbeat while generating, keep requested steps, bound max_len generously (#2435)
Review findings on #2435: the 180 s recv deadline killed valid CPU/slow-GPU
renders (no frames during generate) and the 30-step clamp silently reduced
the 32/64-step quality presets.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-01 18:47:26 +05:30
Palash Debnath 5383d10403 Merge PR #2433 (bug report arch + ASR engine) 2026-10-01 18:47:25 +05:30
Palash Debnath 07c503a5cf Merge PR #2426 (iFLYTEK Astron MaaS provider) 2026-10-01 18:46:36 +05:30
Palash DebnathandClaude Sonnet 5.5 529b4ca922 Make title-derived export/download filenames portable (Windows Errno 22 class, #2376)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-01 18:45:56 +05:30
Palash Debnath cc1858f74b Merge branch 'pr2435' into triage/backend-startup 2026-10-01 18:45:56 +05:30
Palash Debnath c44d5f98b1 Merge PR #2425 (strip prefilled reasoning) 2026-10-01 18:45:47 +05:30
Palash Debnath c13eaea9cb Merge branch 'pr2439' into triage/backend-startup
# Conflicts:
#	CHANGELOG.md
2026-10-01 18:45:45 +05:30
Palash DebnathandClaude Sonnet 5.5 217c204d39 fix(call-agent): fix the closing-tag boundary once found so quoted tags cannot re-slice streamed speech (#2431 review)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-01 18:45:40 +05:30
Palash Debnath d472f67a97 Merge branch 'pr2448' into triage/backend-startup
# Conflicts:
#	CHANGELOG.md
#	electron/src/main/backend.ts
2026-10-01 18:45:40 +05:30
Palash DebnathandClaude Sonnet 5.5 37cd8fd06b fix(data): remove history/lock/consent files only after their DB change commits
Same class as #2483: clear/delete/prune history and unlock unlinked audio
before the transaction committed; consent re-record deleted the previous
recording first; lock copied over the live locked take in place. Stage files
and swap/unlink after commit.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-01 18:45:35 +05:30
Palash DebnathandClaude Sonnet 5.5 e9319327b8 chore: leave CHANGELOG.md to the owner (entries returned in triage report)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-01 18:45:16 +05:30
Palash Debnath 8eddae1784 Merge commit 'refs/pull/2431/head' of github.com:debpalash/VoiceStudio into triage/clone-asr-llm 2026-10-01 18:44:51 +05:30
Palash DebnathandClaude Sonnet 5.5 7ab73378a1 Merge PR #2429: keep end-of-buffer clone preview loops within audio
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-01 18:44:43 +05:30
Palash DebnathandClaude Sonnet 5.5 d5f6fb2f02 chore(backend): drop duplicated comment block from startup-budget merge (#2445)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-01 18:44:40 +05:30
Palash DebnathandClaude Sonnet 5.5 6c99e18da3 Merge PR #2459: serialize MCP structured responses as JSON
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-01 18:44:34 +05:30
Palash Debnath ad99a705da Merge branch 'pr2461' into triage/backend-startup
# Conflicts:
#	CHANGELOG.md
2026-10-01 18:44:24 +05:30
Palash DebnathandClaude Sonnet 5.5 8070a81543 Merge PR #2422: interpret short subtitle timestamp fields as milliseconds
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-01 18:44:16 +05:30
Palash DebnathandClaude Sonnet 5.5 b3945a09bb Merge PR #2437: keep a WebVTT cue whose identifier is a metadata word (#2434)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-01 18:44:09 +05:30
Palash Debnath 64ae9c2244 Merge branch 'pr2466' into triage/backend-startup 2026-10-01 18:43:56 +05:30
Palash DebnathandClaude Sonnet 5.5 e59bb040ee fix(model): tie abandoned-load verdict to the timed-out worker and clear it when the loader exits (#2394)
Review findings on #2467: a late-failing abandoned load left _load_abandoned set;
a queued caller's timeout could brand another caller's live load as stuck; the
warm-path test had no assertions.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-01 18:43:56 +05:30
Palash Debnath c670fb6d3b Merge branch 'pr2417' into triage/docs-misc 2026-10-01 18:43:51 +05:30
Palash DebnathandClaude Sonnet 5.5 d3d0b76c8a docs: list README_JA in project structure
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-01 18:43:51 +05:30
Palash Debnath 328223e872 Merge branch 'pr2418' into triage/docs-misc 2026-10-01 18:43:38 +05:30
Palash Debnath 7c2a8f38c4 Merge branch 'pr2447' into triage/docs-misc 2026-10-01 18:43:29 +05:30