chore: 핫픽스 v1.1.1 dev 역머지 - #109
Conversation
Release v0.2.2
릴리즈 1.0.0
* [WTH-433] 마이페이지 UI 변경에 맞춰 멀티프로필 api 구현 (#90) * feat: 유저 프로필 엔티티 추가 * feat: 유저 프로필 레포 추가 * feat: 멀티프로필 DTO * feat: 유저 프로필 Mapper * feat: 유저 프로필 파일 타입 추가 * feat: 멀티프로필 생성, 조회 API 추가 * feat: 멀티프로필 생성, 조회 API 추가 * feat: 멀티프로필 수정 API 추가 * feat: 동아리별 멀티프로필 로직 추가 * feat: 동아리별 멀티프로필 API 추가 * feat: 멀티프로필 삭제 및 동시성 제어 추가 * feat: 내 동아리 목록에 사용 프로필 추가 * feat: 게시글 작성자 프로필을 멀티프로필에 맞춰 변경 * feat: 댓글 작성자 프로필을 멀티프로필에 맞춰 변경 * refactor: 작성자 프로필 매핑 중복 제거 * feat: 대시보드 게시글 작성자 정보 멀티프로필로 변경 * feat: 마이페이지 요약 조회 API 추가 * feat: 마이페이지 요약 조회 API 추가 * feat: 내가 쓴 글 조회 API 추가 * feat: 출석한 세션 조회 API 추가 * docs: 기존 동아리 프로필 API deprecated 표시 * refactor: 마이그레이션 쿼리 추가 * refactor: 기존 기능 삭제 * refactor: 리뷰 반영 * refactor: 리뷰 반영 * refactor: 리뷰 반영 * refactor: 무한스크롤로 변경 * refactor: 마이페이지 동아리 목록 기본값 제거 * refactor: 마이페이지 이미지 삭제 API 분리 * refactor: 멀티프로필 마이그레이션 버전 수정 * [WTH-450] v11 마이그레이션 수정 (#92) * fix: v11 마이그레이션 수정 * refactor: 게시글 조회 생성시간 응답 * refactor: 멀티프로필 생성시 동아리 필수 선택 * [WTH-451] 마이페이지 api 수정 (#93) * refactor: 멀티프로필 응답 usingClubs 수정 * refactor: 마이페이지 게시글 isNew 응답 추가 * refactor: 마이페이지 활동을 동아리 기준으로 조회 * refactor: 홈 대시보드 사용자 정보 멀티프로필로 수정 * refactor: 게시글 조회 시간 Clock 주입으로 변경 * [WTH-454] 마이페이지 수정사항 반영 (#94) * refactor: 마이페이지 요약에 현재 사용 중인 멀티프로필 추가 * refactor: 마이페이지 통계 현재 동아리 기준으로 수정 * feat: 프로필 사용 가능 동아리 목록 조회 추가 * refactor: 멤버 카운트 n+1 방지
정규 릴리즈에 포함될 V12~V14를 핫픽스에 함께 담는다. 핫픽스가 먼저 나가는데 V15만 적용하면 운영 이력이 V1~V11, V15가 되어 이후 정규 릴리즈에서 V12~V14가 out-of-order로 판정돼 기동에 실패한다 (spring.flyway.out-of-order 미설정, 기본 false). 파일은 dev에서 그대로 가져와 체크섬이 동일하다. 세 마이그레이션 모두 기본값을 가진 컬럼 추가/확장이라 해당 기능 코드가 없어도 무해하다. Refs: WTH-508 Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01FUfuUw4qjjHWfZKiyqgADJ
V3 마이그레이션 대상 데이터의 event.content 최대 길이가 632자로 기존 varchar(500) 한도를 초과해 잘림이 발생한다. session.content(최대 431자)도 여유가 적어 함께 TEXT로 통일한다. Refs: WTH-508 Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01FUfuUw4qjjHWfZKiyqgADJ (cherry picked from commit d17ce27)
엔티티 컬럼을 TEXT로 넓혔으나 요청 DTO가 500자로 막고 있어, 마이그레이션된 632자 일정을 수정할 때 검증에 걸린다. V3는 해당 필드에 길이 제약이 없었다. Refs: WTH-508 Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01FUfuUw4qjjHWfZKiyqgADJ (cherry picked from commit 39fc573)
Flyway로 스키마를 관리하므로 엔티티 변경에 대응하는 V15를 추가한다. prod는 ddl-auto가 validate라 마이그레이션 없이는 기동에 실패한다. Refs: WTH-508 Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01FUfuUw4qjjHWfZKiyqgADJ (cherry picked from commit 6b780d8)
V3 마이그레이션 대상에 세션 자료(pptx 27건)와 문서(docx 2건)가 있어 현행 허용 목록(jpg/jpeg/png/webp/pdf)으로는 이전할 수 없다. FileContentType이 @JvmInline value class의 init에서 검증하므로 별도 컨버터 없이 조회 시점에도 생성자를 통과한다. 즉 이 변경이 배포되기 전에 pptx/docx 행을 넣으면 해당 게시글 조회에서 예외가 난다. 마이그레이션보다 먼저 나가야 하는 이유다. svg는 추가하지 않는다. XML이라 <script>를 품을 수 있어 인라인 서빙 시 XSS 벡터가 된다. mp4도 용량·전송비·Range 요청 문제로 제외한다. 두 건은 UNSUPPORTED_TYPE으로 남는다. Refs: WTH-508 Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01FUfuUw4qjjHWfZKiyqgADJ
[HOTFIX][WTH-508] V3 마이그레이션 수용을 위한 스키마·검증 완화
핫픽스 v1.1.1(#108)을 dev에 반영한다. 충돌 14건은 모두 핫픽스와 무관한 기존 divergence였다. 릴리즈 1.1.0(#95)이 squash 형태로 main에 들어가면서 git 조상 관계가 끊겨, 동일 내용 파일이 양쪽에서 각각 추가된 것으로 인식된 결과다(add/add). main 쪽 내용이 dev 이력의 특정 커밋(#93/#94/#433)과 바이트 단위로 일치함을 전 파일 확인했고, dev가 그 위에 더 진행된 상태이므로 dev 버전을 취했다. AttendanceRepository.kt는 충돌 없이 자동 머지됐으나 양쪽 추가분이 모두 남아 메서드가 중복(Conflicting overloads)됐다. dev 버전이 main의 모든 메서드를 포함함을 확인하고 dev 버전으로 복원했다. 핫픽스 변경(Event/Session content TEXT, FileType pptx·docx, V12~V15)과 dev 최신 작업(#98 등) 양쪽 모두 유지됨을 확인했다. 검증: ktlintCheck, compileKotlin, compileTestKotlin, test 전체 통과 Refs: WTH-508 Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01FUfuUw4qjjHWfZKiyqgADJ
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Advanced Run ID: 📒 Files selected for processing (10)
Included review availability: Your plan provides up to 1 included review per hour; 0 remain after this review. 📝 WalkthroughWalkthrough파일 업로드 형식에 PPTX와 DOCX를 추가했습니다. 이벤트와 세션 콘텐츠의 요청 길이 제한을 1000자로 늘렸습니다. 관련 데이터베이스 컬럼을 Changes파일 형식 지원
콘텐츠 길이 확장
Priority: ⬇️ Low Estimated code review effort: 2 (Simple) | ~10 minutes Change: Other 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
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. 토끼가 PPTX와 DOCX를 들고 뛴다 Comment |
목적
핫픽스
v1.1.1(#108)이main에 먼저 나갔으므로dev에 역머지합니다.안 하면 다음 정규 릴리즈(dev→main)에서 동일 충돌이 그대로 재발합니다.
충돌 처리
충돌 14건이 발생했는데 전부 핫픽스와 무관한 기존 divergence였습니다.
핫픽스가 건드린 파일(
Event.kt,Session.kt,FileType.kt, DTO, 마이그레이션)은 깨끗하게 머지됐습니다.원인은 릴리즈 1.1.0(#95)이 squash 형태로
main에 들어가면서 git 조상 관계가 끊긴 것입니다.그 결과 동일 내용 파일이 양쪽에서 각각 추가된 것으로 인식됐습니다(
add/add).판단 근거:
main쪽 내용이dev이력의 특정 커밋과 바이트 단위로 일치함을 13개 파일 전수 확인했습니다.68298a4WTH-451 (#93)4632a8aWTH-433eab363cWTH-454 (#94)dev가 그 위에 더 진행된 상태(#98 등)이므로 dev 버전을 취했습니다.별도 처리:
AttendanceRepository.kt충돌 없이 자동 머지됐으나 양쪽 추가분이 모두 남아 메서드가 중복됐습니다 (
Conflicting overloads4건, 198줄 → 231줄).dev버전이main의 모든 메서드를 포함함을 확인하고dev버전으로 복원했습니다.자동 머지라 충돌 표시가 없어 컴파일 전까지 드러나지 않는 유형입니다.
검증
ktlintCheck/compileKotlin/compileTestKotlin/test전체 통과FileTypePPTX·DOCX,Event/SessioncontentTEXT, V12~V15ClubMemberMyPageController가origin/dev와 동일참고
WTH-495 브랜치의
V13__add_notion_calendar_import.sql은V16으로 변경이 필요합니다(
dev의V13__add_user_privacy_settings, 핫픽스의V15와 충돌).🤖 Generated with Claude Code
https://claude.ai/code/session_01FUfuUw4qjjHWfZKiyqgADJ
Summary by CodeRabbit
새로운 기능
개선 사항
테스트