개요
방 생성/관리/인원 표시 관련 프론트엔드 버그 수정과 방 관리 UI 개선, 그리고 백엔드에 추가된 방 삭제/내보내기 후속 처리 및 알림 대
응까지 함께 정리하는 이슈입니다.
배경
백엔드에서 방 삭제 기능과 관련 에러 처리, 채팅방 정리, WebSocket 개인 알림 처리가 추가되었습니다.
프론트에서는 단순 버튼 노출뿐 아니라, 권한/상태 기반 분기와 삭제·내보내기 이후 후속 UX까지 함께 반영해야 합니다.
작업 범위
버그
1. 룸메이트 지원 상태에서 방 만들기 모달 진입 가능
- 방에 지원(PENDING) 중인 사용자도 "방 만들기" 버튼이 노출되어 모달 진입이 가능함
- 수정 방향
/api/rooms/me 응답 존재 여부를 기준으로 이미 방에 속했거나 방 관련 상태가 있는 사용자는 "방 만들기" 버튼 비노출 처리
- 방 생성 진입 가능 조건을 명확히 정리하여, 홈/마이페이지 등 여러 진입점에서 동일하게 적용
2. 비방장 룸메이트에게 지원자 수락/거절/채팅 UI 노출
- 일반 룸메이트에게도 지원자 수락/거절 버튼이 렌더링됨
- 수정 방향
roomRole === HOST 조건으로 수락/거절/관리성 채팅 버튼 렌더링 제한
- 비방장 룸메이트 전용 읽기 전용 뷰 분리
- "내보내기", "방 삭제" 등 관리 액션도 동일한 권한 기준 적용
3. 홈 화면과 방 관리 화면의 인원 수 불일치
- 두 화면이
remaining 또는 current_mate_count를 다르게 참조하여 표시 값이 다름
- 수정 방향
- 인원 수 계산 기준 필드를 통일하여 동일한 값 표시
- 모집 상태/현재 인원/잔여 인원 표기 기준을 디자인과 함께 재확인
신규 기능
4. 방장의 룸메이트 내보내기 UI
- 방 관리 화면: 방장에게만 룸메이트별 "내보내기" 버튼 노출 + 확인 모달
- 채팅방: 방장에게만 룸메이트 메뉴에 "내보내기" 옵션 노출 + 확인 모달
- API 연동
DELETE /api/rooms/{roomNo}/roommates/{targetUserNo}
- 프론트 처리
- 성공 시 대상 유저 목록/인원 수/채팅 참여 상태 즉시 갱신
- 본인이 내보내기된 경우 채팅방/방 관리 화면에서 이탈 처리
- 관련 WebSocket 알림 수신 시 토스트 또는 리다이렉트 처리 검토
5. 방 삭제 UI
- 방 관리 화면: 방장에게만 "방 삭제" 버튼 노출
- 활성화 조건
- 방장 본인
- 방장 제외 룸메이트 0명
- 확정된 방이 아닐 것
- 확인 모달에서 삭제 불가 조건을 함께 안내
- API 연동
DELETE /api/rooms/{roomNo}
에러 처리 반영 필요
백엔드에서 아래 케이스들이 명확한 도메인 에러로 처리됨. 프론트는 상태 코드/에러 메시지에 맞는 UX를 제공해야 함.
- 방장이 아닌 사용자가 삭제 요청한 경우
- 룸메이트가 있는 방을 삭제하려는 경우
- 확정된 방을 삭제하려는 경우
- 이미 삭제되었거나 존재하지 않는 방 접근 시
- not found 처리
- 상세/관리/채팅 화면에서 안전한 fallback 필요
알림/WebSocket 대응
프론트에서 아래 케이스를 명시적으로 처리해야 함.
- 개인 알림 큐 수신
/user/queue/notification 또는 현재 사용 중인 클라이언트 기준 대응 경로 재확인
- 알림 타입별 분기
KICKED_FROM_ROOM
ROOM_DELETED
- 채팅방 topic 알림 수신 시
- 현재 채팅방이 삭제되었으면 입력 차단, 안내 후 목록/이전 화면으로 이동
체크리스트
개요
방 생성/관리/인원 표시 관련 프론트엔드 버그 수정과 방 관리 UI 개선, 그리고 백엔드에 추가된 방 삭제/내보내기 후속 처리 및 알림 대
응까지 함께 정리하는 이슈입니다.
배경
백엔드에서 방 삭제 기능과 관련 에러 처리, 채팅방 정리, WebSocket 개인 알림 처리가 추가되었습니다.
프론트에서는 단순 버튼 노출뿐 아니라, 권한/상태 기반 분기와 삭제·내보내기 이후 후속 UX까지 함께 반영해야 합니다.
작업 범위
버그
1. 룸메이트 지원 상태에서 방 만들기 모달 진입 가능
/api/rooms/me응답 존재 여부를 기준으로 이미 방에 속했거나 방 관련 상태가 있는 사용자는 "방 만들기" 버튼 비노출 처리2. 비방장 룸메이트에게 지원자 수락/거절/채팅 UI 노출
roomRole === HOST조건으로 수락/거절/관리성 채팅 버튼 렌더링 제한3. 홈 화면과 방 관리 화면의 인원 수 불일치
remaining또는current_mate_count를 다르게 참조하여 표시 값이 다름신규 기능
4. 방장의 룸메이트 내보내기 UI
DELETE /api/rooms/{roomNo}/roommates/{targetUserNo}5. 방 삭제 UI
DELETE /api/rooms/{roomNo}에러 처리 반영 필요
백엔드에서 아래 케이스들이 명확한 도메인 에러로 처리됨. 프론트는 상태 코드/에러 메시지에 맞는 UX를 제공해야 함.
ROOM017ROOM018알림/WebSocket 대응
프론트에서 아래 케이스를 명시적으로 처리해야 함.
/user/queue/notification또는 현재 사용 중인 클라이언트 기준 대응 경로 재확인KICKED_FROM_ROOMROOM_DELETED체크리스트