-
Notifications
You must be signed in to change notification settings - Fork 1.8k
Description
pipecat version
v0.0.105
Python version
3.13
Operating System
Ubuntu
Issue description
After upgrading to pipecat v0.0.105, post_actions with {"type": "function"} execute while TTS is still speaking the LLM-generated response. The FE receives the event (e.g. "conversation ended") and closes the screen before the user hears the bot's closing message.
Reproduction steps
- Create a pipecat-flows node where the LLM generates speech based on
role_messages/task_messages - Add
post_actionswith{"type": "function", "handler": my_handler}— this handler sends a frontend event signaling the conversation is over - Use
CartesiaTTSServiceon pipecat v0.0.105 - Observe that
my_handlerexecutes while TTS is still speaking the LLM-generated response — theFunctionActionFramepasses through TTS without waiting for audio to finish
Expected behavior
Post-action FunctionActionFrame should be processed after TTS finishes speaking the LLM response, not concurrently. I fixed the issue by setting the private _pause_frame_processing, which resolved the issue on our end. However, this relies on a private API that could change without notice.
Actual behavior
After upgrading to pipecat v0.0.105, post_actions with {"type": "function"} execute while TTS is still speaking the LLM-generated response. The FE receives the event (e.g. "conversation ended") and closes the screen before the user hears the bot's closing message.