fix(live): avoid hangs at fractional transcript grouping deadlines (#3970)
Valid fractional Live transcript grouping timeouts can hang on the next transcript event. For example, after a fragment ends at 200 ms, a timeout of 0.1 ms is scheduled for 200.1; subtracting 200 later rounds to less than 0.1, so the scheduler never consumes that deadline. Compare absolute times against the same deadlines that the scheduler creates. This preserves the existing API and options and adds bounded sync/async regressions for assistant silence, speaker separation, and isolated backchannels. Validation: - All six regressions safely reproduced the hang before the fix. - 224/224 Live tests passed on both Pydantic v1 and v2 after the fix. - Full Ruff, mypy and Pyright passed. - No schema, generated SDK, dependency or API changes.
M
Mark Stuart committed
4ef4129e85e81a285905755e57b392aa9e77f9bd
Parent: f9c458b
Committed by GitHub <noreply@github.com>
on 9/27/2026, 8:01:23 PM