diff --git a/jam-ui/src/components/client/JKSessionScreen.js b/jam-ui/src/components/client/JKSessionScreen.js index 73c5891b7..f5f85506d 100644 --- a/jam-ui/src/components/client/JKSessionScreen.js +++ b/jam-ui/src/components/client/JKSessionScreen.js @@ -540,15 +540,17 @@ const JKSessionScreen = () => { //@refreshCurrentSession(true); // Chat message handler - receives messages from WebSocket and dispatches to Redux - const handleChatMessage = (data) => { + // Callback signature: (fullMessage, payload) where payload contains the chat_message data + const handleChatMessage = (fullMessage, payload) => { // Transform Protocol Buffer format to Redux format + // payload contains: {sender_name, sender_id, msg, msg_id, created_at, channel, ...} const message = { - id: data.msg_id, - senderId: data.sender_id, - senderName: data.sender_name, - message: data.msg, - createdAt: data.created_at, - channel: 'session', + id: payload.msg_id, + senderId: payload.sender_id, + senderName: payload.sender_name, + message: payload.msg, + createdAt: payload.created_at, + channel: payload.channel || 'session', sessionId: currentSession.id }; dispatch(addMessageFromWebSocket(message));