From 1013d12da1fe13d88723bf7c446e6da95f2e06db Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rados=C5=82aw=20Gierwia=C5=82o?= Date: Sun, 7 Dec 2025 19:44:17 +0100 Subject: [PATCH] fix(chat): fix match chat not displaying messages for sender - Add nested user object with country to match messages (API + Socket.IO) - Change io.to() to io.in() to include sender in broadcast - Apply same broadcast fix to event chat for consistency --- backend/src/routes/matches.js | 2 ++ backend/src/socket/index.js | 18 ++++++++++++------ 2 files changed, 14 insertions(+), 6 deletions(-) diff --git a/backend/src/routes/matches.js b/backend/src/routes/matches.js index 5765331..4d50957 100644 --- a/backend/src/routes/matches.js +++ b/backend/src/routes/matches.js @@ -515,6 +515,7 @@ router.get('/:slug/messages', authenticate, async (req, res, next) => { avatar: true, firstName: true, lastName: true, + country: true, }, }, }, @@ -535,6 +536,7 @@ router.get('/:slug/messages', authenticate, async (req, res, next) => { avatar: msg.user.avatar, firstName: msg.user.firstName, lastName: msg.user.lastName, + country: msg.user.country, }, content: msg.content, type: msg.type, diff --git a/backend/src/socket/index.js b/backend/src/socket/index.js index e97e0b6..b289042 100644 --- a/backend/src/socket/index.js +++ b/backend/src/socket/index.js @@ -365,8 +365,8 @@ function initializeSocket(httpServer) { }, }); - // Broadcast message to room - io.to(roomName).emit('event_message', { + // Broadcast message to room (including sender) + io.in(roomName).emit('event_message', { id: message.id, roomId: message.roomId, userId: message.user.id, @@ -474,21 +474,27 @@ function initializeSocket(httpServer) { id: true, username: true, avatar: true, + country: true, }, }, }, }); - // Broadcast to match room - io.to(roomName).emit('match_message', { + // Broadcast to match room (including sender) + io.in(roomName).emit('match_message', { id: message.id, roomId: message.roomId, userId: message.user.id, - username: message.user.username, - avatar: message.user.avatar, content: message.content, type: message.type, createdAt: message.createdAt, + // Nested user data (consistent with event_message format) + user: { + id: message.user.id, + username: message.user.username, + avatar: message.user.avatar, + country: message.user.country, + }, }); console.log(`💬 Private message in match ${matchId} from ${socket.user.username}`);