diff --git a/app/src/main/java/kr/co/vividnext/sodalive/user/UserRepository.kt b/app/src/main/java/kr/co/vividnext/sodalive/user/UserRepository.kt index 17d9aa7e..86179b15 100644 --- a/app/src/main/java/kr/co/vividnext/sodalive/user/UserRepository.kt +++ b/app/src/main/java/kr/co/vividnext/sodalive/user/UserRepository.kt @@ -49,7 +49,7 @@ class UserRepository(private val userApi: UserApi) { token: String ): Single> { return userApi.getPushNotificationList( - page = page, + page = page - 1, size = size, category = category, authHeader = token diff --git a/docs/20260312_알림리스트구현.md b/docs/20260312_알림리스트구현.md index 85e5b2d9..b5a63b21 100644 --- a/docs/20260312_알림리스트구현.md +++ b/docs/20260312_알림리스트구현.md @@ -42,3 +42,11 @@ - 무엇/왜/어떻게: 최초 진입 시 카테고리 조회/선택 과정에서 알림 리스트 API가 2회 호출될 가능성이 있는지 호출 경로를 정적 분석으로 점검했다. - 실행 명령: `background_output(task_id="bg_061507b7")`, `background_output(task_id="bg_23070c8e")`, `grep(pattern="getPushNotificationList\\(|selectCategory\\(|categoryListLiveData.observe\\(|onScrolled\\(", path="app/src/main/java/kr/co/vividnext/sodalive/home/pushnotification")`, `ast_grep_search(pattern="fun getPushNotificationList() { $$$ }", lang="kotlin", paths=["app/src/main/java/kr/co/vividnext/sodalive/home/pushnotification"])` - 결과: 최초 진입 경로에서는 `categoryListLiveData` 수신 후 `isInitialCategorySelected` 가드로 첫 카테고리 선택이 1회만 실행되고, `getPushNotificationList`는 `_isLoading`/`isLastPage` 가드로 재진입이 차단되어 2회 호출 버그 재현 경로가 확인되지 않았다. +- 2026-03-12 + - 무엇/왜/어떻게: `totalCount`는 정상인데 `items`가 빈 현상에 대해 파싱 모델/인프라/페이징 전달을 교차 점검했고, 저장소 전반의 페이지 규칙(`page=1` 시작 후 API 전달 시 `page-1`)과 달리 push notification만 보정이 누락된 점을 수정했다. + - 실행 명령: `background_output(task_id="bg_097b64e0")`, `background_output(task_id="bg_c31bdfb5")`, `grep(pattern="page = page - 1|fun getPushNotificationList\\(", path="app/src/main/java/kr/co/vividnext/sodalive/user/UserRepository.kt")`, `grep(pattern="page = page - 1", path="app/src/main/java", output_mode="content")` + - 결과: `UserRepository.getPushNotificationList`에 `page = page - 1` 보정을 반영해 다른 페이징 API와 동일 규칙으로 정렬했다. +- 2026-03-12 + - 무엇/왜/어떻게: 페이지 인덱스 보정 변경 후 컴파일/테스트/코드스타일 검증을 재실행했다. + - 실행 명령: `lsp_diagnostics(filePath="app/src/main/java/kr/co/vividnext/sodalive/user/UserRepository.kt")`, `lsp_diagnostics(filePath="docs/20260312_알림리스트구현.md")`, `./gradlew :app:assembleDebug :app:testDebugUnitTest :app:ktlintCheck` + - 결과: `.kt` LSP 서버 미구성으로 Kotlin 진단은 불가, Markdown 진단은 이슈 없음, Gradle 검증은 `BUILD SUCCESSFUL`.