fix: ensure emotive ack rotation and prebaked ack caching apply outside v2 queue eligibility
deploy / deploy (push) Successful in 30s

This commit is contained in:
2026-08-30 12:49:26 +05:00
parent 13ba8f8b56
commit 010a8dcab6
2 changed files with 15 additions and 8 deletions
+8 -5
View File
@@ -822,11 +822,14 @@ def _media_registration_from_row(row: VoiceAISessionRow, *, queue_code: str | No
voice_v2_partial_asr=bool(voice_v2_for_session and _voice_v2_partial_asr_enabled()),
voice_v2_duplex=bool(voice_v2_for_session and _voice_v2_duplex_enabled()),
voice_v2_streaming_asr_backend=streaming_backend,
voice_v2_prebaked_ack=bool(voice_v2_for_session and _voice_v2_prebaked_ack_enabled()),
# Deliberately NOT gated on voice_v2_for_session: phrase-variant rotation only
# needs a text pool + live TTS, not the v2 duplex/partial-ASR pipeline, so calls
# outside the v2 queue allowlist still get varied fillers instead of always the
# single fixed "Секунду." fallback string.
# voice_v2_prebaked_ack and voice_v2_emotive_ack are deliberately NOT gated on
# voice_v2_for_session: filler-ack synthesis/caching and phrase-variant rotation
# only need a text pool + the ack bank, not the v2 duplex/partial-ASR pipeline.
# Without this, calls outside the v2 queue allowlist would synthesize every
# filler live via ElevenLabs before it could play — adding real TTS round-trip
# time to the one phrase whose whole job is to hide that latency — and would
# always get the single fixed "Секунду." fallback string instead of rotating.
voice_v2_prebaked_ack=bool(_voice_v2_prebaked_ack_enabled()),
voice_v2_emotive_ack=bool(_voice_v2_emotive_ack_enabled()),
voice_v2_emotive_ack_ru_only=bool(_voice_v2_emotive_ack_ru_only()),
)