Zobdino v0.2.0-beta.5.1.4 — Gemini TTS Interaction Completion Polling
Pre-releaseZobdino v0.2.0-beta.5.1.4 — Gemini TTS Interaction Completion Polling
Trigger
Controlled Batch A run 31565336801 exposed a successful-Interaction handling
gap: two fast HTTP-success responses did not contain extracted inline audio,
the renderer submitted duplicate generation POSTs, and the third POST hit a
transient 429.
Fix
- explicit audio delivery=inline
- accepted Interaction IDs are polled using GET /interactions/{id}
- no duplicate generation POST while an accepted Interaction is pending
- inline audio data + audio URI extraction
- 5-second polling / 15-minute timeout
- transient GET Retry-After/backoff
- safe metadata-only diagnostics
- generation POST hard cap remains 10
- GET poll requests recorded separately
- deterministic Interaction contract self-tests
Safety
No TTS generated by this hotfix.
No workflow/media/Piper/episodes/player state changed.
Dual Voice remains 0/10.
media-dual-v0.2.0-beta.6 remains absent.
Evidence
Issue: #60
Batch A: #53
PR: #61
PR CI: https://github.com/AmirMotefaker/KetabCast/actions/runs/31568215087
Post-merge CI: https://github.com/AmirMotefaker/KetabCast/actions/runs/31568262304
Pages: https://github.com/AmirMotefaker/KetabCast/actions/runs/31568262300
Exact SHA: 2bd4fac
Live: https://amirmotefaker.github.io/KetabCast/
Source failure: https://github.com/AmirMotefaker/KetabCast/actions/runs/31565336801