Skip to content

refactor(timeletter): 목록 화면의 screenshotTest용 Content 경계 분리 #1361

Closed

Description

@OnlyReadOneBook

작업 유형

refactor — 동작 변경 없는 구조·책임·경계 개선

주 담당 모듈

timeletter — 타임레터

개요

#1130은 screenshotTest와 baseline을 추가하는 테스트 작업이다. 테스트 구현 과정에서 PR #1338(81748be4)가 production TimeletterScreen.kt에 TimeletterScreenContent를 추출하고 아래 상태·이벤트 연결을 재배선했다.

  • ViewMode와 변경 콜백
  • Snackbar 상태
  • 상세·설정·작성·수정·수신자 필터 이동 콜백
  • 삭제 대상 선택 콜백

테스트 PR이 production 화면 구조를 대신 결정하지 않도록, 이 변경은 타임레터 담당자가 소유하는 별도 production refactor로 분리한다.

작업 범위

  • TimeletterScreen의 ViewModel/Route 경계와 고정 상태 렌더링용 Content 경계를 설계한다.
  • 목록·필터·보기 방식·삭제 확인과 내비게이션 이벤트의 소유 위치를 명시한다.
  • loading/error/success 상태와 기존 Snackbar·삭제 흐름을 보존한다.
  • production refactor와 #1130의 테스트/baseline 변경을 별도 PR로 유지한다.

완료 조건

  • production PR에는 구조 변경과 동작 보존 검증만 포함한다.
  • #1130의 screenshotTest PR은 production src/main을 수정하지 않고 확정된 경계를 사용한다.
  • 기존 목록 필터·보기 방식·삭제·내비게이션 동작이 회귀하지 않는다.
  • 기본·로딩·오류·좁은 화면 상태를 결정적으로 렌더할 수 있다.

관련: #1130, PR #1338

자식 이슈

No response

참고

전체 open/closed 이슈의 제목·본문·댓글에서 TimeletterScreenContent와 동일한 production seam을 추적하는 이슈가 없음을 확인했다. #714와 #1302는 각각 오류 UX와 LoadingBody 치환으로 범위가 다르다.

Activity

  1. added
    refactor동작 변경 없이 코드 구조·책임·경계를 개선하는 작업
    on Aug 28, 2026
  2. OnlyReadOneBook commented on Sep 3, 2026

    @OnlyReadOneBook
    CollaboratorAuthor

    MVI 전환(#1811) 착수에 맞춰 blocked_by #1806(timeletter MVI 전환)을 걸었습니다.

    이 이슈는 TimeletterScreen 의 «ViewModel/Route 경계와 고정 상태 렌더링용 Content 경계를 설계»하고 «목록·필터·보기 방식·삭제 확인과 내비게이션 이벤트의 소유 위치를 명시»합니다. #1806 이 같은 화면을 Screen / Content(state, onIntent) 2단으로 가르므로 그 설계가 그대로 재작성됩니다.

    #1130 은 이미 닫혀 있어 이 이슈가 테스트 작업을 막지는 않습니다.

    순서가 뒤집혀 남는 diff 가 없다면 이 이슈를 #1806 으로 흡수하는 선택지도 있습니다. 그 판정은 이 이슈에서 담당자가 합니다.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

area:timeletter타임레터 기능 영역refactor동작 변경 없이 코드 구조·책임·경계를 개선하는 작업

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions