Merge pull request #3738 from lukepayyapilli/fix/mute-events-before-start-frame

Fix LLMUserAggregator broadcasting mute events before StartFrame
This commit is contained in:
Mark Backman
2026-02-14 09:40:40 -05:00
committed by GitHub
3 changed files with 53 additions and 1 deletions

View File

@@ -549,6 +549,15 @@ class LLMUserAggregator(LLMContextAggregator):
await s.cleanup()
async def _maybe_mute_frame(self, frame: Frame):
# Control frames must flow unconditionally — never feed them to mute
# strategies. Without this guard, strategies like
# MuteUntilFirstBotCompleteUserMuteStrategy fire on_user_mute_started
# and broadcast UserMuteStartedFrame before StartFrame is pushed
# downstream, causing downstream processors to receive frames before
# StartFrame and log errors.
if isinstance(frame, (StartFrame, EndFrame, CancelFrame)):
return False
should_mute_frame = self._user_is_muted and isinstance(
frame,
(