Fix: RTVI message disconnect-bot now pushes EndTaskFrame

This commit is contained in:
Mark Backman
2025-03-19 07:07:45 -04:00
parent 7ddac4eb88
commit 7f1ccab445
2 changed files with 6 additions and 1 deletions

View File

@@ -138,6 +138,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
### Fixed ### Fixed
- Fixed an issue where the RTVI message `disconnect-bot` was pushing an
`EndFrame`, resulting in the pipeline not shutting down. It now pushes an
`EndTaskFrame` upstream to shutdown the pipeline.
- Fixed an issue with the `GoogleSTTService` where stream timeouts during - Fixed an issue with the `GoogleSTTService` where stream timeouts during
periods of inactivity were causing connection failures. The service now periods of inactivity were causing connection failures. The service now
properly detects timeout errors and handles reconnection gracefully, properly detects timeout errors and handles reconnection gracefully,

View File

@@ -29,6 +29,7 @@ from pipecat.frames.frames import (
CancelFrame, CancelFrame,
DataFrame, DataFrame,
EndFrame, EndFrame,
EndTaskFrame,
ErrorFrame, ErrorFrame,
Frame, Frame,
FunctionCallResultFrame, FunctionCallResultFrame,
@@ -766,7 +767,7 @@ class RTVIProcessor(FrameProcessor):
update_config = RTVIUpdateConfig.model_validate(message.data) update_config = RTVIUpdateConfig.model_validate(message.data)
await self._handle_update_config(message.id, update_config) await self._handle_update_config(message.id, update_config)
case "disconnect-bot": case "disconnect-bot":
await self.push_frame(EndFrame()) await self.push_frame(EndTaskFrame(), FrameDirection.UPSTREAM)
case "action": case "action":
action = RTVIActionRun.model_validate(message.data) action = RTVIActionRun.model_validate(message.data)
action_frame = RTVIActionFrame(message_id=message.id, rtvi_action_run=action) action_frame = RTVIActionFrame(message_id=message.id, rtvi_action_run=action)