Skip to content

feat: 방 이름 저장 지원 - #16

Merged
Heyaaz merged 2 commits into
mainfrom
feature/room-name-support
May 17, 2026
Merged

feat: 방 이름 저장 지원#16
Heyaaz merged 2 commits into
mainfrom
feature/room-name-support

Conversation

@Heyaaz

@Heyaaz Heyaaz commented May 17, 2026

Copy link
Copy Markdown
Owner

Summary

  • 방 생성 시 방 이름 저장 지원

Changes

  • trip_rooms.room_name 마이그레이션 추가
  • 방 생성 요청 roomName 수신 및 fallback 보정
  • 방 생성/조회/목록/공유 응답 roomName 반환
  • 방 이름 계약 테스트 보강

Verification

  • Not run
  • Build: ./gradlew compileKotlin --no-daemon
  • Test: ./gradlew test --tests com.tripsync.AuthContractTests --no-daemon
  • Manual: Docker 재빌드 후 방 생성/목록 roomName 응답 확인

Notes

@Heyaaz

Heyaaz commented May 17, 2026

Copy link
Copy Markdown
Owner Author

Nogada PR Review

Verdict

  • 변경 요청: 기본 방 이름 생성 로직에 길이 초과 케이스가 있음

Blocking issues

  1. roomName 미입력 시 destination + " 여행 계획"이 100자를 넘을 수 있음
    • 위치: src/main/kotlin/com/tripsync/application/room/RoomService.ktnormalizeRoomName()src/main/resources/db/migration/V7__add_trip_room_name.sql
    • TripRoom.destination은 이미 VARCHAR(100)이고, 새 room_nameVARCHAR(100)임. 그런데 기본값을 "${destination.trim()} 여행 계획"으로 만들면 destination이 95~100자인 기존/신규 데이터에서 100자를 초과함.
    • 신규 생성은 서비스에서 INVALID_REQUEST가 나거나 DB 제약에 걸릴 수 있고, 마이그레이션은 기존 destination 길이가 긴 row가 있으면 UPDATE trip_rooms SET room_name = destination || ' 여행 계획' 단계에서 실패할 수 있음.
    • 기본 이름은 take(100)으로 잘라내거나, suffix를 붙일 공간만큼 destination을 먼저 자르는 식으로 서비스와 migration을 같은 규칙으로 맞추는 게 안전함.

Non-blocking notes

  • 테스트 종료 시 Testcontainers/Hikari PostgreSQL 연결 종료 경고가 로그에 남았지만, Gradle 결과와 XML 기준 실패는 없음.

Checked scope

  • 방 이름 필드 추가, 생성/조회 응답, Flyway V7 migration, 관련 테스트 변경 검토
  • git diff --check origin/main...pr-16 통과
  • /tmp/tripsync_server-pr-16 worktree에서 ./gradlew clean test --no-daemon --no-build-cache 실행: 40 tests, 0 failures, 0 errors

@Heyaaz

Heyaaz commented May 17, 2026

Copy link
Copy Markdown
Owner Author

Nogada PR Review

Verdict

  • 승인 가능: 이전 blocking 이슈 해결됨

Prior blocking issues

  • 해결됨: roomName 미입력 시 기본 방 이름이 100자를 넘을 수 있던 문제
    • 서비스 기본값 생성이 ROOM_NAME_MAX_LENGTH - ROOM_NAME_SUFFIX.length만큼 destination을 먼저 자른 뒤 suffix를 붙이도록 변경됨.
    • Flyway V7 migration도 동일하게 LEFT(TRIM(destination), 100 - CHAR_LENGTH(' 여행 계획')) || ' 여행 계획' 규칙으로 맞춰짐.
    • 100자 destination fallback 및 101자 explicit roomName 거부 테스트가 추가됨.

Blocking issues

  • 없음

Non-blocking notes

  • 테스트 종료 시 Testcontainers/Hikari PostgreSQL 연결 종료 경고가 로그에 남았지만, Gradle 결과와 XML 기준 실패는 없음.

Checked scope

  • 이전 리뷰 head 83c45fbc3d6612ccea06906df1f573b6b76a2bb7 → 최신 head 041f8b3889345494189714a4cf8cfd78a0aa8059 변경점 재검토
  • RoomService.normalizeRoomName() / defaultRoomName()V7__add_trip_room_name.sql 확인
  • 관련 API 응답 및 테스트 변경 확인
  • git diff --check origin/main...HEAD 통과
  • /tmp/tripsync_server-pr-16 worktree에서 ./gradlew clean test --no-daemon --no-build-cache 실행: 42 tests, 0 failures, 0 errors

@Heyaaz
Heyaaz merged commit 5596de5 into main May 17, 2026
1 check passed
@Heyaaz
Heyaaz deleted the feature/room-name-support branch May 17, 2026 13:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant