Skip to content

fix(captures): preserve uploaded audio decode errors - #1219

Open
FelixKruger wants to merge 1 commit into
jamiepine:mainfrom
FelixKruger:codex/preserve-upload-decode-errors
Open

FelixKruger wants to merge 1 commit into
jamiepine:mainfrom
FelixKruger:codex/preserve-upload-decode-errors

Conversation

@FelixKruger

Copy link
Copy Markdown

Problem

Capture uploads rewrite decode failures as Recording too short, canceled regardless of source, hiding the actual diagnostic for uploaded files.

Fix

Restrict the existing brief notice to dictation. Preserve original diagnostics and normal error duration for file and recording sources. Extract a small predicate with synthetic regression coverage. No new runtime dependencies.

This fixes misleading error reporting, not codecs. Recording behavior, the existing dictation heuristic, models, settings and duration guards are unchanged.

Verification

  • bun test ./app/tests/captureErrors.test.ts: 8 passed, 13 assertions. The previous unconditional predicate failed four file/recording cases.
  • Frontend TypeScript check passed.
  • Biome lint on all three changed files passed.
  • Staged diff whitespace check passed.
  • No fresh desktop end-to-end or real audio-file test: classification is unit-tested and hook wiring is type-checked.

Scope

Only source and synthetic error strings. No recordings, transcripts, profiles, private project details, configuration or logs.

Generated CHANGELOG.md intentionally unchanged per its do-not-edit header.

doublesharp added a commit to doublesharp/voicebox-ds that referenced this pull request Oct 29, 2026
Use the shared QueryClient for offline requests, preserve custom server URLs through startup and migration, retain capture decode diagnostics, preserve refinement language, accept supported STT languages, and explain LuxTTS short-input errors. Adapt upstream PRs jamiepine#1208, jamiepine#1204, jamiepine#1219, jamiepine#1218, jamiepine#1198, jamiepine#1199, jamiepine#1220 and jamiepine#1180; retain remote reconnect refreshes and correctly migrate the legacy bundled port.

Wait for the preview output context to resume before playing. Cancel superseded starts and release preview nodes/object URLs on replacement, completion, failure and unmount. Add CI regressions for the upstream integration and preview lifecycle.

Validation: 292 frontend tests on this candidate; 414 frontend tests with the working UI changes; 53 backend tests; app/web/Tauri frontend typechecks and both frontend builds. Independent review accepted the playback change. Native first-click/autoplay, acoustic output, packaging and model quality remain unverified.

Co-authored-by: vincentfranstyo <66989751+vincentfranstyo@users.noreply.github.com>
Co-authored-by: maxazure <405711+maxazure@users.noreply.github.com>
Co-authored-by: FelixKruger <262215022+FelixKruger@users.noreply.github.com>
Co-authored-by: Tony25032 <141424750+Tony25032@users.noreply.github.com>
Co-authored-by: mvoloch <274143174+mvoloch@users.noreply.github.com>
Co-authored-by: Lvigentini <11659311+Lvigentini@users.noreply.github.com>

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant