Files
sodalive-ios/docs/20260330_라이브룸스탭해제갱신수정.md

2.5 KiB

20260330 라이브룸 스탭 해제 갱신 수정

작업 개요

  • 라이브 진행 중 스탭 지정/해제 시 LiveRoomProfilesDialogView의 스탭 표시가 실시간으로 정확히 갱신되도록 원인 분석 및 수정한다.

구현 체크리스트

  • 관련 코드 경로 병렬 탐색(Explore + 직접 검색)으로 원인 확정
  • 스탭 해제 동작 시 서버/클라이언트 상태 갱신 누락 수정
  • LiveRoomProfilesDialogView에 전달되는 roomInfo 재조회 타이밍 보정
  • 변경 파일 진단 및 빌드 검증 수행
  • 검증 기록 누적

검증 기록

  • 무엇: 스탭 해제 시점에 방장 클라이언트가 너무 이른 시점에만 getRoomInfo()를 호출해 managerList가 stale 상태로 남는 문제를 수정.

  • 왜: LiveRoomProfilesDialogView는 전달받은 roomInfo.managerList를 표시하므로, 해제 완료 이후의 최신 roomInfo 재조회 트리거가 필요.

  • 어떻게:

    • LiveRoomViewModel.changeListener(peerId:isFromManager:)에서 스탭 해제 시 즉시 setManagerMessage()를 보내던 흐름을 제거하고, 해제 안내 메시지 전송 후 지연 재조회(DispatchQueue.main.asyncAfter)를 추가.
    • LiveRoomViewModel.setListener()에서 현재 사용자가 해제 대상 스탭이었던 경우(wasManager)에 setManagerMessage()를 전파해, 실제 해제 완료 이후 전체 클라이언트가 getRoomInfo()를 재호출하도록 보강.
  • 실행 명령 및 결과:

    • xcodebuild -workspace "SodaLive.xcworkspace" -scheme "SodaLive" -configuration Debug build** BUILD SUCCEEDED **
    • xcodebuild -workspace "SodaLive.xcworkspace" -scheme "SodaLive-dev" -configuration Debug build** BUILD SUCCEEDED **
    • xcodebuild -workspace "SodaLive.xcworkspace" -scheme "SodaLive" testScheme SodaLive is not currently configured for the test action.
    • xcodebuild -workspace "SodaLive.xcworkspace" -scheme "SodaLive-dev" testScheme SodaLive-dev is not currently configured for the test action.
    • lsp_diagnostics(LiveRoomViewModel.swift)No such module 'Moya' (로컬 SourceKit 모듈 해석 환경 이슈로 확인됨)
  • 수동 QA 시나리오(디바이스/시뮬레이터):

    1. 방장이 스피커/리스너를 스탭으로 지정한다.
    2. LiveRoomProfilesDialogView에서 스탭 섹션에 즉시 반영되는지 확인한다.
    3. 동일 사용자를 스탭 해제한다.
    4. 다이얼로그를 닫지 않은 상태에서도 스탭 섹션에서 제거되는지 확인한다.