Skip to content

fix(setting): 수신자 목록이 200 응답에 수신자가 있는데도 빈 화면으로 그려진다 #2105

Closed

Description

@OnlyReadOneBook

작업 유형

bug — 버그·오동작

주 담당 모듈

setting — 설정

개요

설정 > 수신자 관리 > 수신자 목록(ReceiverManageScreen)이 서버가 수신자를 내려주는데도 빈 화면으로 그려진다. 상단바만 남고 행이 하나도 없다.

기준 리비전은 origin/develop 7d87aa3f4 이고, 2026-09-14 21:07 KST 에뮬레이터(Pixel 7 · API 34)에서 QA823 계정으로 실서버(afternote.kro.kr)에 붙여 재현했다.

재현

  1. QA823 계정으로 로그인한 상태에서 설정 > 수신자 관리 > 수신자 목록에 들어간다.
  2. 목록이 비어 있다. 10초를 더 기다려도 채워지지 않고, 화면을 다시 들어가도 같다.

증거

같은 진입에서 나간 요청은 200 이고 본문에 수신자 1건이 들어 있다.

--> GET https://afternote.kro.kr/api/v1/users/receivers
<-- 200 https://afternote.kro.kr/api/v1/users/receivers (33ms)
{"status":200,"code":200,"message":"성공","data":[{"receiverId":14,"name":"QA수신자","relation":"DAUGHTER"}]}

수신자 목록이 빈 화면

응답이 오간 뒤에도 화면은 그대로 비어 있고, ErrorReporter 로 갈 예외도 logcat 에 남지 않는다. 같은 세션에서 타임레터 작성의 수신인 표시(「수신인 1명」)는 정상이라 계정 데이터 자체는 있다.

코드 경로

  • feature/setting/.../navigation/SettingNavGraph.kt:116-134 가 ReceiverListViewModel.receivers 를 그대로 ReceiverManageScreen 에 넘긴다.
  • feature/setting/.../viewmodel/ReceiverListViewModel.kt 는 userRepository.receiverListFlow 를 stateIn(WhileSubscribed(5_000), initialValue = emptyList()) 로 노출한다.
  • core/data/.../repoimpl/UserReceiverRepositoryImpl.kt:62-100 의 receiverListFlow 는 isLoggedIn 이 false 면 빈 목록을, 조회 실패면 마지막 성공 목록을 낸다.

원인은 아직 확정하지 않았다. 조회는 성공했는데 화면까지 값이 오지 않는 구간(로그인 플래그·구독 시점·인스턴스 분기)을 계측으로 좁혀야 한다.

완료 조건

자식 이슈

No response

참고

Activity

  1. github-actions commented on Sep 14, 2026

    @github-actions
    Contributor

    bug 이슈는 사이드바 Fields > Priority 로 심각도를 지정해야 합니다. 판정 기준:

    • Urgent: 치명 — 크래시·데이터 소실·보안 무력화·핵심 경로 차단·가짜 성공
    • High: 심각 — 실패·틀린 값의 정상 위장, 핵심 기능 무동작
    • Medium: 불편 — 우회로가 있는 오동작·틀린 표시, 핵심 흐름은 유지
    • Low: 경미 — 문구·정렬·마감 품질 흠, 기능 영향 없음

    값이 비어 있어도 이슈를 닫지는 않습니다. 이 안내는 이슈당 한 번만 답니다.

  2. added
    pr-open이 이슈를 구현하는 PR 이 열려 있다 — base 가 기본 브랜치가 아니어도 드러낸다
    on Sep 20, 2026
  3. OnlyReadOneBook commented on Sep 23, 2026

    @OnlyReadOneBook
    CollaboratorAuthor

    영향 범위가 설정 수신자 목록보다 넓다. 같은 원인으로 홈 전체와 애프터노트 작성의 수신자 선택도 실패한다.

    2026-09-23 12:06 KST, 에뮬레이터(API 35, 1080x2400, density 420)에서 QA823 계정으로 실서버에 붙여 확인했다.

    • develop f69332d99: 홈이 진입 즉시 "정보를 불러오지 못했습니다." 로 떨어진다. users/me·users/receivers·daily-questions/today·mind-record 가 전부 200 인데도 그렇다. 홈은 수신자 목록을 필수 조회로 묶어 두어서(GetHomeSummaryUseCase) 목록 디코드가 실패하면 화면 전체가 오류가 된다. 다시 시도해도 같다.
    • develop f69332d99: 애프터노트 작성 > 수신자 추가도 "수신자 목록을 불러오지 못했습니다." 로 막힌다.
    • fix(setting): 수신자 목록 응답 계약을 맞춰 행 소실을 막는다 (#2105) #2120 head 2c7295c3a: 같은 계정·같은 시점에 홈이 정상으로 뜨고, 설정 수신자 목록·타임레터 수신인 선택에 Admin(relation null)과 QA수신자 두 건이 다 나온다.

    원인은 이 이슈에 적은 것과 같다. 목록 응답의 {"receiverId":21,"name":"Admin","relation":null} 이 ReceiverListDto.relation: String 에서 디코드 실패한다.

    develop 홈 develop 애프터노트 수신자 선택 #2120 홈
    develop 홈 오류 develop 수신자 선택 오류 PR 빌드 홈 정상
  4. removed
    pr-open이 이슈를 구현하는 PR 이 열려 있다 — base 가 기본 브랜치가 아니어도 드러낸다
    on Sep 26, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

area:setting설정 기능 영역bugSomething isn't working

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions