docs(creator): 라이브 Phase 7 검증을 기록한다
This commit is contained in:
@@ -524,7 +524,7 @@
|
|||||||
- 2026-06-17: 리뷰 게이트 차단 이슈 보정으로 `CreatorChannelPagerAdapter`에서 `CreatorChannelTab.Live -> CreatorChannelLiveFragment.newInstance(creatorId)` 분기를 추가했다. Home/Live 탭은 실제 Fragment로 연결하고, 후속 탭은 기존 placeholder 정책을 유지한다.
|
- 2026-06-17: 리뷰 게이트 차단 이슈 보정으로 `CreatorChannelPagerAdapter`에서 `CreatorChannelTab.Live -> CreatorChannelLiveFragment.newInstance(creatorId)` 분기를 추가했다. Home/Live 탭은 실제 Fragment로 연결하고, 후속 탭은 기존 placeholder 정책을 유지한다.
|
||||||
- 2026-06-17: 보정 후 `./gradlew :app:testDebugUnitTest --tests "kr.co.vividnext.sodalive.v2.creator.channel.CreatorChannelActivitySourceTest"` PASS, `./gradlew :app:testDebugUnitTest --tests "kr.co.vividnext.sodalive.v2.creator.channel.*Live*"` PASS, `./gradlew :app:compileDebugKotlin` PASS, `./gradlew :app:ktlintCheck` PASS.
|
- 2026-06-17: 보정 후 `./gradlew :app:testDebugUnitTest --tests "kr.co.vividnext.sodalive.v2.creator.channel.CreatorChannelActivitySourceTest"` PASS, `./gradlew :app:testDebugUnitTest --tests "kr.co.vividnext.sodalive.v2.creator.channel.*Live*"` PASS, `./gradlew :app:compileDebugKotlin` PASS, `./gradlew :app:ktlintCheck` PASS.
|
||||||
|
|
||||||
- [ ] **Task 7.2: DI와 lifecycle 통합**
|
- [x] **Task 7.2: DI와 lifecycle 통합**
|
||||||
- 수정:
|
- 수정:
|
||||||
- `app/src/main/java/kr/co/vividnext/sodalive/di/AppDI.kt`
|
- `app/src/main/java/kr/co/vividnext/sodalive/di/AppDI.kt`
|
||||||
- `app/src/main/java/kr/co/vividnext/sodalive/v2/creator/channel/live/CreatorChannelLiveFragment.kt`
|
- `app/src/main/java/kr/co/vividnext/sodalive/v2/creator/channel/live/CreatorChannelLiveFragment.kt`
|
||||||
@@ -537,6 +537,20 @@
|
|||||||
- `./gradlew :app:compileDebugKotlin`
|
- `./gradlew :app:compileDebugKotlin`
|
||||||
- 기대 결과:
|
- 기대 결과:
|
||||||
- Live 탭 관련 테스트와 컴파일이 PASS한다.
|
- Live 탭 관련 테스트와 컴파일이 PASS한다.
|
||||||
|
- 검증 기록:
|
||||||
|
- 2026-06-18: `AppDI`에서 `CreatorChannelApi`와 `CreatorChannelRepository`는 기존 홈 탭 공통 binding을 유지하고, `CreatorChannelLiveViewModel(get())`가 같은 repository를 주입받는 것을 확인했다. 별도 Live API/Repository binding은 추가하지 않았다.
|
||||||
|
- 2026-06-18: `CreatorChannelLiveFragment.onViewCreated()`는 초기 API 호출을 수행하지 않고, `CreatorChannelActivity.onPageSelected()`가 Live 탭 선택 시 `findLiveFragment()?.onCreatorChannelLiveTabSelected()`를 호출해 `viewModel.loadLive(creatorId)`를 시작하는 lazy load 경로를 확인했다.
|
||||||
|
- 2026-06-18: `CreatorChannelLiveViewModel.loadLive()`는 같은 `creatorId`와 기존 상태가 있으면 no-op 하므로 Fragment 재생성/탭 재바인딩 중 정렬, page, 목록 상태를 유지한다. 해당 계약은 `CreatorChannelLiveViewModelTest`의 `같은 creatorId로 다시 loadLive를 호출하면 기존 상태를 유지하고 API를 재호출하지 않는다` 테스트로 고정되어 있음을 확인했다.
|
||||||
|
- 2026-06-18: `CreatorChannelActivity`의 `binding.viewPager.offscreenPageLimit = CreatorChannelTab.entries.size - 1` 설정과 Live 탭 선택 hook은 `CreatorChannelActivitySourceTest`에서 고정되어 있어 Home delegate 보존과 Live lazy load 통합 계약이 유지됨을 확인했다.
|
||||||
|
- 2026-06-18: `./gradlew :app:testDebugUnitTest --tests "kr.co.vividnext.sodalive.v2.creator.channel.live.*"` 실행 결과 `BUILD SUCCESSFUL in 34s`로 통과했다.
|
||||||
|
- 2026-06-18: `./gradlew :app:compileDebugKotlin` 실행 결과 `BUILD SUCCESSFUL in 7s`로 통과했다. Gradle 9.0 호환성 deprecation 경고는 기존 빌드 설정 경고로 Phase 7.2 변경과 직접 관련 없다.
|
||||||
|
|
||||||
|
#### Phase 7 코드 리뷰/검증 기록
|
||||||
|
- 2026-06-18: Phase 7 전체 변경 범위를 코드 리뷰했다. `CreatorChannelPagerAdapter`는 `CreatorChannelTab.Live`에서 `CreatorChannelLiveFragment.newInstance(creatorId)`를 반환하고 Home/후속 탭 정책은 유지한다. `CreatorChannelActivity`는 Live 탭 선택 시 `onCreatorChannelLiveTabSelected()`로 lazy load를 시작하고, NestedScrollView 하단 접근 및 content 변경 후 bottom 재평가에서 `loadMore()` 경로를 호출한다. `AppDI`는 공통 `CreatorChannelApi`/`CreatorChannelRepository` binding과 `CreatorChannelLiveViewModel(get())` 주입을 사용하며 별도 Live API/Repository binding을 만들지 않는다. `CreatorChannelLiveViewModel.loadLive()`의 동일 `creatorId` no-op 조건과 관련 테스트로 Fragment 재생성/탭 재바인딩 중 상태 유지 계약을 확인했다. 차단 이슈는 발견하지 못했다.
|
||||||
|
- 2026-06-18: fresh verification으로 `./gradlew :app:testDebugUnitTest --tests "kr.co.vividnext.sodalive.v2.creator.channel.CreatorChannelPagerAdapterTest"`를 실행해 `BUILD SUCCESSFUL in 8s`로 통과했다. 최초 sandbox 실행은 `~/.gradle` wrapper lock 파일 권한 제한으로 실패해 권한 승인 후 재실행했다.
|
||||||
|
- 2026-06-18: fresh verification으로 `./gradlew :app:testDebugUnitTest --tests "kr.co.vividnext.sodalive.v2.creator.channel.CreatorChannelActivitySourceTest" --tests "kr.co.vividnext.sodalive.v2.creator.channel.live.*"`를 실행해 `BUILD SUCCESSFUL in 11s`로 통과했다.
|
||||||
|
- 2026-06-18: fresh verification으로 `./gradlew :app:compileDebugKotlin`을 실행해 `BUILD SUCCESSFUL in 2s`로 통과했다.
|
||||||
|
- 2026-06-18: fresh verification으로 `./gradlew :app:ktlintCheck`를 실행해 `BUILD SUCCESSFUL in 1s`로 통과했다. Gradle 9.0 호환성 deprecation 경고는 기존 빌드 설정 경고로 Phase 7 변경과 직접 관련 없다.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user