feat(chat): 채팅방 채팅 메세지 전달 로직 디버깅 (#78)#156
Conversation
|
Caution Review failedThe pull request is closed. WalkthroughChatMessagingController의 send 핸들러에 @transactional을 추가하고, 메시지를 실제로 저장한 후 저장 결과로부터 응답 페이로드를 구성하도록 변경했다. 이후 STOMP 브로드캐스트와 Redis 퍼블리시 경로는 유지된다. 메서드 시그니처는 동일하며 어노테이션만 추가됐다. Changes
Sequence Diagram(s)sequenceDiagram
autonumber
actor Client
participant Controller as ChatMessagingController
participant Service as ChatMessageService
participant Broker as MessagingTemplate (STOMP)
participant Redis as ChatRedisPublisher
Client->>Controller: SEND /app/chat/{roomId} (ChatSendRequest)
rect rgba(200,230,255,0.25)
note right of Controller: @Transactional
Controller->>Service: saveUserMessage(roomId, userId, content)
Service-->>Controller: ChatMessage(saved)
end
Controller->>Broker: convertAndSend(/topic/chat/{roomId}, payload from saved)
Controller->>Redis: publish(payload)
Broker-->>Client: MESSAGE /topic/chat/{roomId}
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes Possibly related PRs
Suggested labels
Suggested reviewers
Poem
📜 Recent review detailsConfiguration used: CodeRabbit UI Review profile: CHILL Plan: Pro 💡 Knowledge Base configuration:
You can enable these sources in your CodeRabbit configuration. 📒 Files selected for processing (1)
✨ Finishing Touches
🧪 Generate unit tests
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
SupportNeed help? Create a ticket on our support page for assistance with any issues or questions. CodeRabbit Commands (Invoked using PR/Issue comments)Type Other keywords and placeholders
CodeRabbit Configuration File (
|
Summary by CodeRabbit