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

24 lines
1.9 KiB
Markdown

# 20260330 라이브룸 스탭 해제 미갱신 수정
## 작업 체크리스트
- [x] 스탭 지정/해제 데이터 흐름을 확인해 해제 시점 UI 갱신 누락 원인을 특정한다.
QA: 스탭 해제 직후 `LiveRoomProfileListAdapter` 항목에서 스탭 표시가 사라지는지 코드 경로로 검증.
- [x] 원인에 맞춰 최소 수정으로 갱신 로직을 반영한다.
QA: 스탭 지정 시 표시 유지 + 스탭 해제 시 즉시 표시 해제 로직이 함께 성립.
- [x] 변경 파일 진단/테스트/빌드 검증을 수행한다.
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.xml``com.facebook.FacebookActivity` MissingClass 포함 기존 lint 오류(총 20 errors)로 실패
- 실행 명령: `./gradlew :app:ktlintCheck`
- 결과: `LiveRoomActivity.kt` 전역(기존 구간 포함) ktlint 위반 다수로 실패
- 진단 도구: Kotlin(`.kt`)용 LSP 서버 미구성으로 `lsp_diagnostics` 실행 불가 확인