Skip to content

v0.3.7 — Fix non-detach audio END marker so the WS parser sees completion

Choose a tag to compare

@myurasov myurasov released this 10 May 02:19
· 20 commits to main since this release

Local audio jobs (target=None) — i.e. the path the Web UI uses when hosted on the same machine doing the work — were silently mislabeled as failed with error: subprocess died without END marker even when whisper completed successfully and wrote all five transcript files to audio-out/<stem>/.

The two branches of audio.transcribe() were emitting different END-line shapes:

  • detach branch (runner.sh): ==== END rc=$RC <date> ==== ✓
  • non-detach branch: ==== END <date> ==== ✗ (no rc=)

The Web UI's progress parser at webui/progress.py only matched the first shape (r'==== END rc=(-?\\d+) '), so the second branch's END line was invisible. webui/routes/ws.py then hit its sentinel and stamped "subprocess died without END marker" on the job.

Fix: the non-detach branch now mirrors the runner.sh shape (captures $? into RC, emits rc=$RC, propagates the exit code via exit $RC). Same exit-code semantics as before, just with the visibility the parser needs.

48/48 tests pass (was 47, +1 regression test pinning the rendered END-line shape against the parser regex).

Migration: none — upgrade in place.