From 54a99f3ffc05808108805d983885872a2b90790f Mon Sep 17 00:00:00 2001 From: ddingjoo Date: Fri, 16 Jan 2026 14:47:03 +0900 Subject: [PATCH] =?UTF-8?q?[FIX]=20=EC=B1=84=ED=8C=85=20=EB=A9=94=EC=8B=9C?= =?UTF-8?q?=EC=A7=80=20=EC=A4=91=EB=B3=B5=20=ED=91=9C=EC=8B=9C=20=EB=B2=84?= =?UTF-8?q?=EA=B7=B8=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - optimistic update 제거: 메시지 전송 시 즉시 추가하지 않음 - 서버 브로드캐스트만 표시하여 중복 문제 해결 --- .../freetalk/hooks/useChatWebSocket.js | 21 +++---------------- 1 file changed, 3 insertions(+), 18 deletions(-) diff --git a/src/domains/freetalk/hooks/useChatWebSocket.js b/src/domains/freetalk/hooks/useChatWebSocket.js index 51b4ae5..a75dc4b 100644 --- a/src/domains/freetalk/hooks/useChatWebSocket.js +++ b/src/domains/freetalk/hooks/useChatWebSocket.js @@ -180,6 +180,7 @@ export function useChatWebSocket(roomId, userId) { /** * 메시지 전송 + * - optimistic update 제거: 서버 브로드캐스트만 표시하여 중복 방지 */ const sendMessage = useCallback((content, messageType = 'TEXT') => { if (!isConnectedRef.current) { @@ -187,24 +188,8 @@ export function useChatWebSocket(roomId, userId) { return false } - const success = chatWebSocketService.sendMessage(content, messageType) - - if (success) { - // Optimistic update - 자신의 메시지 즉시 추가 - const optimisticMessage = { - id: `temp-${Date.now()}`, - content, - userId, - messageType, - createdAt: new Date().toISOString(), - isOwn: true, - isPending: true, - } - setMessages((prev) => [...prev, optimisticMessage]) - } - - return success - }, [userId]) + return chatWebSocketService.sendMessage(content, messageType) + }, []) /** * 게임 시작