fix(home): 라이브 전체 항목을 항상 표시한다
This commit is contained in:
@@ -0,0 +1,84 @@
|
||||
# Phase 18 현재 진행 중인 라이브 `전체` 항목 리뷰
|
||||
|
||||
## 1. 리뷰 정보
|
||||
|
||||
| 항목 | 내용 |
|
||||
|---|---|
|
||||
| 리뷰 대상 | Phase 18 / Task 18.1, P18-GATE |
|
||||
| 기준 commit 또는 working tree | `d592038e` 기반 Phase 18 staged working tree |
|
||||
| 리뷰 일자 | 2026-07-31 |
|
||||
| 리뷰어 | Codex |
|
||||
| 기준 문서 | `prd.md`, `plan-task.md` Phase 18 |
|
||||
| 리뷰 상태 | 판정 완료 |
|
||||
|
||||
## 2. 리뷰 목적과 범위
|
||||
|
||||
- 목적: 라이브가 비어 있지 않으면 기존 `전체` 항목을 항상 추가하고, 빈 목록·20개 cap·클릭 경로를 유지하는지 확인한다.
|
||||
- 포함: `HomeLiveAdapter`, `HomeMainFragment`의 섹션 표시와 `전체` 클릭 연결, `HomeMainFragmentLayoutTest`, Phase 18 문서.
|
||||
- 제외: 전체 라이브 API·화면, 라이브 item 입장 로직, 기존 프로젝트 전체 lint 부채 수정, 수동 UI 시각 확인.
|
||||
|
||||
## 3. 판정 기준
|
||||
|
||||
빈 목록 0개, 라이브 1~20개는 원본 개수와 `전체` 1개, 21개 이상은 라이브 20개와 `전체` 1개인지 판정했다. 기존 `MoreViewHolder`, 로그인 가드, `HomeOnAirLiveActivity` 이동 경로가 변경되지 않았는지도 대조했다.
|
||||
|
||||
## 4. 검토한 근거
|
||||
|
||||
### 문서와 코드
|
||||
|
||||
- 요구사항: `prd.md:147-154`, `prd.md:526-530`
|
||||
- 계획: `plan-task.md`의 `P18-T1`, `P18-GATE`
|
||||
- 코드: `HomeLiveAdapter.kt:16-55`, `HomeMainFragment.kt:213-219`, `HomeMainFragment.kt:572-575`, `HomeMainFragment.kt:682-685`
|
||||
- 테스트: `HomeMainFragmentLayoutTest.kt:1046-1095`, `HomeMainFragmentLoginGuardSourceTest`
|
||||
|
||||
### 실행 환경
|
||||
|
||||
```text
|
||||
OS: macOS 26.0 (25A354)
|
||||
Java: OpenJDK 17.0.15
|
||||
Gradle wrapper: 8.14.3
|
||||
기준 HEAD: d592038eddce8245e197aef48dbae7c7eb48585a
|
||||
```
|
||||
|
||||
### 실행한 검증
|
||||
|
||||
| 명령 또는 대조 | 결과 | 핵심 증거 |
|
||||
|---|---|---|
|
||||
| `./gradlew :app:testDebugUnitTest --tests "kr.co.vividnext.sodalive.v2.main.home.HomeMainFragmentLayoutTest" :app:compileDebugKotlin :app:ktlintCheck :app:lintDebug --no-parallel --console=plain` | 일부 성공 / lint 실패 | focused 74 tests 실패·오류 0, compile·ktlint 성공. `lintDebug`는 기존 범위에서 28 errors·767 warnings로 실패 |
|
||||
| `./gradlew :app:testDebugUnitTest --no-parallel --console=plain --rerun-tasks` | 성공 | 162 suites, 1,199 tests, 실패 0·오류 0·skip 0, exit code 0 |
|
||||
| `./gradlew tasks --all --console=plain` | 성공 | `BUILD SUCCESSFUL`, 문서 변경 후 task 인식 확인 |
|
||||
| `git diff --cached --check` 및 `git diff --check` | 성공 | 출력 없음, exit code 0 |
|
||||
| PRD·계획·호출 흐름 정적 대조 | 성공 | 0개 숨김, 20개 cap, 기존 `전체` ViewHolder·로그인 가드·이동 경로 유지 |
|
||||
|
||||
`lintDebug` 첫 오류는 변경되지 않은 `AndroidManifest.xml:316`의 `com.facebook.FacebookActivity` `MissingClass`다. 전체 lint 보고서의 이번 production 변경 파일에는 기존 `notifyDataSetChanged()` warning 1건만 있고, 변경된 줄에 신규 error는 없다.
|
||||
|
||||
## 5. 발견 사항 요약
|
||||
|
||||
확정 발견 사항 없음.
|
||||
|
||||
프로젝트 전체 `lintDebug` 실패는 staged diff에서 추가된 문제가 아니므로 Phase 18 수정 항목으로 전환하지 않는다.
|
||||
|
||||
## 6. 발견 사항 상세
|
||||
|
||||
없음.
|
||||
|
||||
## 7. 확정 항목의 plan·goal 전환
|
||||
|
||||
전환 항목 없음.
|
||||
|
||||
## 8. 리뷰 종료 판정
|
||||
|
||||
| 판정 항목 | 결과 | 근거 |
|
||||
|---|---|---|
|
||||
| 리뷰 범위 전체 확인 | 충족 | 코드·test·PRD·Task와 호출 흐름 대조 완료 |
|
||||
| 후보 항목 판정 완료 | 충족 | 후보 및 확정 발견 사항 없음 |
|
||||
| 확정 항목 plan 반영 | 해당 없음 | 전환할 review ID 없음 |
|
||||
| 보류 항목의 담당·재개 조건 기록 | 해당 없음 | 보류 없음 |
|
||||
| 검증 명령과 결과 기록 | 충족 | focused·전체 unit test·compile·ktlint·lint·diff 결과 기록 |
|
||||
|
||||
**최종 결론:** 확정 발견 사항 없음
|
||||
|
||||
**남은 항목:** Phase 18 범위에는 없음. 프로젝트 전체 `lintDebug` 기존 오류는 별도 작업 범위가 승인될 때 처리한다.
|
||||
|
||||
## 9. 수정 후 검증 기록
|
||||
|
||||
코드 수정 항목 없음.
|
||||
Reference in New Issue
Block a user