fix: stabilize realtime playback transitions and transcript scrolling - #332
Conversation
Go coverage
Base branch: dev · Commit: 08cd0f7 · Test workflow run |
There was a problem hiding this comment.
Reviewed the playback lifecycle, mode-switch cleanup, command interruption classification, and voice-stage hit testing. The focused realtime packages and race-enabled playback/pipeline/runtime tests pass. One remaining concurrency issue is called out inline: the new availability wait does not reserve the physical track, so independently started outputs can still race after the wait and lose their first chunk.
|
IGTM |
Gwen317
left a comment
There was a problem hiding this comment.
The targeted playback-owner fix addresses the original mode-switch interruption race, but one P1 remains: phrase playback cleanup still clears the whole scheduler queue after the mode commit. A new-mode Turn admitted in that interval is marked superseded and its audio is dropped. Please fence cleanup to pre-switch work or serialize phrase admission with the transition.
All current GitHub checks are green, but I am not approving until this race is fixed.
Gwen317
left a comment
There was a problem hiding this comment.
已确认此前的问题均已处理:playback reservation 竞态、模式切换后的 owner 定向中断、切换后新 phrase 任务保留,以及主动取消任务不再被错误重试。最新 realtime race tests 和 GitHub CI 均通过,approve。
Summary
Fixes #329