Skip to content

release: develop → main#250

Merged
tlarbals824 merged 13 commits into
mainfrom
develop
Jun 23, 2026
Merged

release: develop → main#250
tlarbals824 merged 13 commits into
mainfrom
develop

Conversation

@github-actions

Copy link
Copy Markdown

Release: develop → main

develop 브랜치의 변경사항을 main으로 배포합니다.
버전은 main 머지 시점에 자동으로 확정됩니다.

Changes

  • fix(test): 채팅 단위 테스트 CI 실패 수정
  • test: 채팅 반응/답글/배지 API 통합 테스트 추가
  • refactor(chat): 삭제된 원문 메시지 replyTo fallback 제거
  • refactor(chat): 삭제된 답글 닉네임에 User.WITHDRAWN_NICKNAME 재사용
  • style(chat): 발신자 관련 지역 변수 약어 제거
  • refactor(chat): ChatMessage sender/parent ManyToOne 연관관계 매핑
  • refactor(chat): ReplyInfo 조회 정리 및 스펙 미구현 항목 보완
  • chore(chat): V17 마이그레이션 스크립트 제거 (답글 및 반응 기능 관련)
  • feat(chat): remove system message support, rename flyway migration to V16, align with spec
  • feat(chat): add senderId to message responses for future use cases
  • refactor(chat): reply contentPreview 서버측 트렁케이션 제거
  • feat(chat): 채팅방 반응(👍👎), 답글, 본인 선택지 배지 기능 추가

- 메시지 답글 지원 (parentMessageId + replyTo 정보)
- 메시지 반응(THUMBS_UP / THUMBS_DOWN) 추가/취소/카운트
  - ChatMessageReaction 도메인 + ReactionCount / MyReaction 프로젝션
- 채팅방 진입 시 myVoteOption 배지 정보 제공 (ChatRoomResponse)
- SendMessageRequest에 replyToMessageId 추가
- GET /messages 응답에 replyTo, reactions, myReaction 포함
- PUT /messages/{messageId}/reactions 반응 API 신규
- V17 마이그레이션 (parent_message_id + chat_message_reaction 테이블)
- WS 브로드캐스트에 replyTo 정보 포함

명세: docs/spec/chat-reactions-replies-badge-api-improvement.md
- contentPreview는 전체 내용을 그대로 내림 (프론트에서 말줄임 처리)
- ReplyInfo, buildReplyInfo, loadParentInfos, buildReplyInfoForBroadcast 업데이트
- 스펙 문서도 반영
- Add senderId to MessageResult and MessageResponse
- Update constructions in service and event listener
- Update tests accordingly
ReplyInfoResolver로 답글 원문 사용자 조회를 통합하고, 메시지 목록 enrichment에
batch 사용자 조회를 적용한다. 반응 변경 시 REACTION_UPDATED WebSocket
브로드캐스트를 추가하고, 메시지 없음/불일치는 404로 분리한다.
sender_id와 parent_message_id를 User·ChatMessage @manytoone으로 선언하고
JOIN FETCH 조회로 연관 엔티티를 바로 사용하도록 서비스·리스너·테스트를 정리한다.
sid, nick, col, msg, myReact를 senderId, senderNickname,
senderProfileIcon, message, myReaction으로 변경한다.
원문 메시지가 없을 때 닉네임 상수 중복을 제거하고,
contentPreview용 삭제 메시지 문구만 채팅 도메인에 유지한다.
parent chat_message row가 없으면 replyTo를 null로 반환한다.
ON DELETE SET NULL과 동일한 동작이며, synthetic 삭제 메시지 응답을 제거한다.
Testcontainers PostgreSQL 위에서 채팅방 조회, 메시지 전송/조회,
반응 추가·변경·취소 및 에러 케이스를 검증한다.
WebMvcTest에서 Long principal 인증을 사용하고,
ChatServiceTest mockUser 스텁 충돌 및 assertion을 정리한다.
feat(chat): 메시지 반응(👍👎), 답글(reply), 본인 선택지 배지 기능 추가
@tlarbals824 tlarbals824 merged commit ab11004 into main Jun 23, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant