From d3ecbb11c1156a8618217f4c6072c165c55b865d Mon Sep 17 00:00:00 2001 From: okue Date: Sun, 1 Feb 2026 20:37:38 +0900 Subject: [PATCH] fix: pass frame class instead of instance to broadcast_frame in websocket transports broadcast_frame() expects a frame class and kwargs, but the three websocket input transports (fastapi, client, server) were incorrectly passing a frame instance. This would cause a TypeError at runtime when an InputTransportMessageFrame was received. --- src/pipecat/transports/websocket/client.py | 2 +- src/pipecat/transports/websocket/fastapi.py | 2 +- src/pipecat/transports/websocket/server.py | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/pipecat/transports/websocket/client.py b/src/pipecat/transports/websocket/client.py index f55b1f919..e24352575 100644 --- a/src/pipecat/transports/websocket/client.py +++ b/src/pipecat/transports/websocket/client.py @@ -300,7 +300,7 @@ class WebsocketClientInputTransport(BaseInputTransport): if isinstance(frame, InputAudioRawFrame) and self._params.audio_in_enabled: await self.push_audio_frame(frame) elif isinstance(frame, InputTransportMessageFrame): - await self.broadcast_frame(frame) + await self.broadcast_frame(InputTransportMessageFrame, message=frame.message) else: await self.push_frame(frame) diff --git a/src/pipecat/transports/websocket/fastapi.py b/src/pipecat/transports/websocket/fastapi.py index a0d02ccec..d4f5809d9 100644 --- a/src/pipecat/transports/websocket/fastapi.py +++ b/src/pipecat/transports/websocket/fastapi.py @@ -313,7 +313,7 @@ class FastAPIWebsocketInputTransport(BaseInputTransport): if isinstance(frame, InputAudioRawFrame): await self.push_audio_frame(frame) elif isinstance(frame, InputTransportMessageFrame): - await self.broadcast_frame(frame) + await self.broadcast_frame(InputTransportMessageFrame, message=frame.message) else: await self.push_frame(frame) except Exception as e: diff --git a/src/pipecat/transports/websocket/server.py b/src/pipecat/transports/websocket/server.py index acd4faf92..16964cb9b 100644 --- a/src/pipecat/transports/websocket/server.py +++ b/src/pipecat/transports/websocket/server.py @@ -217,7 +217,7 @@ class WebsocketServerInputTransport(BaseInputTransport): if isinstance(frame, InputAudioRawFrame): await self.push_audio_frame(frame) elif isinstance(frame, InputTransportMessageFrame): - await self.broadcast_frame(frame) + await self.broadcast_frame(InputTransportMessageFrame, message=frame.message) else: await self.push_frame(frame) except Exception as e: