diff --git a/app/build.gradle b/app/build.gradle index bfca853b..ac9d1fdd 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -63,7 +63,7 @@ android { applicationId "kr.co.vividnext.sodalive" minSdk 23 targetSdk 35 - versionCode 235 + versionCode 236 versionName "1.54.1" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" } diff --git a/app/src/main/java/kr/co/vividnext/sodalive/live/room/LiveRoomActivity.kt b/app/src/main/java/kr/co/vividnext/sodalive/live/room/LiveRoomActivity.kt index 0fbc40fa..e2f9f2d9 100644 --- a/app/src/main/java/kr/co/vividnext/sodalive/live/room/LiveRoomActivity.kt +++ b/app/src/main/java/kr/co/vividnext/sodalive/live/room/LiveRoomActivity.kt @@ -1813,8 +1813,6 @@ class LiveRoomActivity : BaseActivity(ActivityLiveRoomB requestType = LiveRoomRequestType.CHANGE_LISTENER ) { if (isFromManager) { - viewModel.getRoomInfo(roomId) - setManagerMessage() releaseManagerMessageToPeer(userId = peerId) handler.post { @@ -2331,6 +2329,7 @@ class LiveRoomActivity : BaseActivity(ActivityLiveRoomB ) { setAudience() viewModel.getRoomInfo(roomId) + setManagerMessage() if (roomUserProfileDialog.isShowing()) { viewModel.getUserProfile( diff --git a/docs/20260330_라이브룸스탭해제미갱신수정.md b/docs/20260330_라이브룸스탭해제미갱신수정.md new file mode 100644 index 00000000..e883c05f --- /dev/null +++ b/docs/20260330_라이브룸스탭해제미갱신수정.md @@ -0,0 +1,23 @@ +# 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` 실행 불가 확인