fix(live-room): 스탭 해제 후 권한 표시를 즉시 동기화한다
This commit is contained in:
@@ -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"
|
||||
}
|
||||
|
||||
@@ -1813,8 +1813,6 @@ class LiveRoomActivity : BaseActivity<ActivityLiveRoomBinding>(ActivityLiveRoomB
|
||||
requestType = LiveRoomRequestType.CHANGE_LISTENER
|
||||
) {
|
||||
if (isFromManager) {
|
||||
viewModel.getRoomInfo(roomId)
|
||||
setManagerMessage()
|
||||
releaseManagerMessageToPeer(userId = peerId)
|
||||
|
||||
handler.post {
|
||||
@@ -2331,6 +2329,7 @@ class LiveRoomActivity : BaseActivity<ActivityLiveRoomBinding>(ActivityLiveRoomB
|
||||
) {
|
||||
setAudience()
|
||||
viewModel.getRoomInfo(roomId)
|
||||
setManagerMessage()
|
||||
|
||||
if (roomUserProfileDialog.isShowing()) {
|
||||
viewModel.getUserProfile(
|
||||
|
||||
23
docs/20260330_라이브룸스탭해제미갱신수정.md
Normal file
23
docs/20260330_라이브룸스탭해제미갱신수정.md
Normal file
@@ -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` 실행 불가 확인
|
||||
Reference in New Issue
Block a user