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

1.9 KiB

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

작업 체크리스트

  • 스탭 지정/해제 데이터 흐름을 확인해 해제 시점 UI 갱신 누락 원인을 특정한다.
    QA: 스탭 해제 직후 LiveRoomProfileListAdapter 항목에서 스탭 표시가 사라지는지 코드 경로로 검증.
  • 원인에 맞춰 최소 수정으로 갱신 로직을 반영한다.
    QA: 스탭 지정 시 표시 유지 + 스탭 해제 시 즉시 표시 해제 로직이 함께 성립.
  • 변경 파일 진단/테스트/빌드 검증을 수행한다.
    QA: lsp_diagnostics 무오류, 관련 테스트 통과, :app:assembleDebug 성공.

검증 기록

  • 2026-03-30
    • 무엇: LiveRoomRequestType.CHANGE_LISTENER 수신 후 setListener 성공 콜백에서 setManagerMessage()를 추가하고, 요청자 쪽의 조기 getRoomInfo/setManagerMessage 호출을 제거해 역할 변경 완료 시점에만 전체 동기화가 일어나도록 수정했다.
    • 왜: 기존에는 스탭 해제 요청 직후 방장이 먼저 목록을 새로고침해 구 상태를 다시 받아오고, 실제 역할 전환 완료 시점의 재동기화가 늦어 LiveRoomProfileListAdapter에서 스탭 표시가 남는 race가 발생할 수 있었다.
    • 어떻게:
      • 수정 파일: app/src/main/java/kr/co/vividnext/sodalive/live/room/LiveRoomActivity.kt
      • 실행 명령: ./gradlew :app:testDebugUnitTest :app:assembleDebug
      • 결과: BUILD SUCCESSFUL (2회 재실행으로 수정 후 동일 확인)
      • 실행 명령: ./gradlew :app:lintDebug
      • 결과: AndroidManifest.xmlcom.facebook.FacebookActivity MissingClass 포함 기존 lint 오류(총 20 errors)로 실패
      • 실행 명령: ./gradlew :app:ktlintCheck
      • 결과: LiveRoomActivity.kt 전역(기존 구간 포함) ktlint 위반 다수로 실패
      • 진단 도구: Kotlin(.kt)용 LSP 서버 미구성으로 lsp_diagnostics 실행 불가 확인