Skip to content

fix(setting): 수신자 목록의 조회 상태와 재시도를 연결한다 #1281

Closed

Description

@OnlyReadOneBook

작업 유형

bug — 버그·오동작

주 담당 모듈

setting — 설정

개요

설정의 수신자 목록은 receiverListFlow: Flow<List<Receiver>>만 소비하여 초기 로딩·첫 조회 실패·실제 0건을 구분하지 못합니다. upstream에서 손실된 조회 결과를 보존하는 공통 계약은 #2045로 분리하며, 이 이슈는 설정 ReceiverListViewModel과 관리·사후 전달 조건 선택 화면의 실제 소비를 맡습니다.

완료 조건:

  • 최초 로딩, 성공한 목록/실제 0건, 최초 실패, 마지막 성공 목록을 유지한 갱신 실패가 서로 다른 상태입니다.
  • 관리·선택 두 화면 모두 보여 줄 행이 없는 실패에 실패 안내와 재시도를 제공합니다. 갱신 실패에도 기존 행과 선택 동작을 유지하고, 관리 화면은 목록 위 안내로 재시도를 제공합니다. 선택 화면은 공용 ReceiverSelectScreen 의 listReplacement 로 표현되는 범위까지만 다룹니다.
  • #1805의 ObservationStarted·ObservationStopped Intent와 5초 구독 유예를 유지합니다. revision 갱신(fix(core): 수신자 수정 성공 후 구독 중인 목록을 갱신한다 #2127)을 소비하고, 같은 세션에서 5초를 넘겨 다시 구독한 첫 로딩·일반 실패에도 검색·선택·스크롤을 보존합니다.
  • 재시도는 Retry Intent로만 받고 즉시 로딩 상태로 전이하여 연속 클릭의 중복 요청을 막습니다.
  • 401·로그아웃·새 세션에서 이전 계정 목록은 지웁니다.
  • 공개 production 계약으로 repository/ViewModel/Compose 회귀와 신규 상태 screenshot을 검증합니다.

#1695와 #1805가 함께 완성한 PR #2173의 Nav3 entry와 MVI 계약 위에서 구현합니다. #2045의 결과 계약과 실제 화면 소비를 PR #2154에서 함께 완성하며, #2135의 세션 격리와 #2127의 목록 갱신이 먼저 머지되어야 합니다. 상태 변경은 순수 reducer에서 처리하고 기존 Nav2 그래프나 별도의 가변 목록 캐시를 추가하지 않습니다.

성공한 실제 0건·검색 결과 0건의 제품 안내 문구/등록 진입(#556)은 이 범위에 포함하지 않습니다. 실패를 성공한 빈 목록으로 표시하지 않는 현재 계약만 확정합니다.

화면 증거

조회 상태별 렌더다. 최초 로딩, 최초 조회 실패(재시도), 재조회 실패(목록 보존) 순이다.

수신자 목록 조회 상태

Activity

  1. changed the title [-]fix(setting): 수신자 목록이 로딩·조회 실패·실제 0건을 구분하지 못해 빈 화면으로 수렴[/-] [+]수신자 목록이 로딩·조회 실패·실제 0건을 구분하지 못해 빈 화면으로 수렴[/+] on Aug 28, 2026
  2. changed the title [-]수신자 목록이 로딩·조회 실패·실제 0건을 구분하지 못해 빈 화면으로 수렴[/-] [+]fix(setting): 수신자 목록의 조회 상태와 재시도를 연결한다[/+] on Sep 13, 2026
  3. github-actions commented on Sep 13, 2026

    @github-actions
    Contributor

    이 이슈를 맡은 PR 은 #2051 다 (base fix/579-receiver-reentry).

    base 가 기본 브랜치(develop)가 아니라서 GitHub 은 이 이슈의 Development 칸에
    아무것도 표시하지 않는다. 본문에 Closes #N 이 있어도 마찬가지다 — 그 링크는 기본 브랜치를
    target 하는 PR 에서만 만들어진다.

    PR 이 닫히거나 머지되면 이 이슈의 pr-open 라벨은 다음 리컨사일에서 떨어진다.

  4. added
    pr-open이 이슈를 구현하는 PR 이 열려 있다 — base 가 기본 브랜치가 아니어도 드러낸다
    and removed
    pr-open이 이슈를 구현하는 PR 이 열려 있다 — base 가 기본 브랜치가 아니어도 드러낸다
    on Sep 13, 2026
  5. github-actions commented on Sep 23, 2026

    @github-actions
    Contributor

    이 이슈를 맡은 PR 은 #2154 다 (base fix/2135-receiver-session-cache).

    base 가 기본 브랜치(develop)가 아니라서 GitHub 은 이 이슈의 Development 칸에
    아무것도 표시하지 않는다. 본문에 Closes #N 이 있어도 마찬가지다 — 그 링크는 기본 브랜치를
    target 하는 PR 에서만 만들어진다.

    PR 이 닫히거나 머지되면 이 이슈의 pr-open 라벨은 다음 리컨사일에서 떨어진다.

  6. removed
    pr-open이 이슈를 구현하는 PR 이 열려 있다 — base 가 기본 브랜치가 아니어도 드러낸다
    on Sep 28, 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