Skip to content

refactor(setting): 수신자 저장 정책을 UseCase로 분리 (#1691) - #2124

Merged
OnlyReadOneBook merged 13 commits into
developfrom
refactor/1691-setting-save-usecases
Oct 5, 2026
Merged

OnlyReadOneBook merged 13 commits into
developfrom
refactor/1691-setting-save-usecases

Conversation

@OnlyReadOneBook

@OnlyReadOneBook OnlyReadOneBook commented Sep 20, 2026 •

Copy link
Copy Markdown
Collaborator

핵심 파일: UpdateReceiverInfoUseCase.kt, UpdateTimeLetterDeliveryConditionUseCase.kt, ReceiverEditViewModel.kt, DeliveryConditionViewModel.kt.

Closes #1691

수신자 기본정보 뒤 인사말을 저장하는 순서와 타임레터 전달조건 갱신 정책을 setting domain UseCase로 분리했습니다. 기본정보 실패와 인사말 부분 실패를 구분하고 두 쓰기 사이의 취소, 기존 Throwable 포착 범위와 조건 상태·시각 정보를 보존합니다.

실제 base는 #2180의 refactor/2179-setting-editors-mvi입니다. Nav3 assisted route와 MVI 입력·상태·신호 계약을 그대로 소비하며 UseCase의 결과만 reducer event로 전달합니다. #2123 → #2173 → #2180 → 이 PR 순서로 검토합니다.

검증: domain 저장 정책 회귀 테스트 10개와 설정 단위 테스트 87개, 설정 ktlint 및 앱 main/androidTest 컴파일을 통과했습니다. 기존 두 Throwable 포착 변이에서 회귀 테스트가 실패하는 것도 확인된 범위입니다.

🧪 CI Test Plan

{
  "androidTest": {
    "mode": "none",
    "reason": "JVM domain 저장 정책 추출과 기존 MVI ViewModel의 UseCase 소비 변경입니다. 저장 순서·부분 실패·취소·조건 보존은 domain 및 presentation 단위 테스트로, Hilt 연결은 앱 컴파일로 검증합니다. 화면과 네비게이션 동작은 base 그대로입니다.",
    "tests": []
  }
}

…es' into refactor/1691-setting-save-usecases
@github-actions github-actions Bot added the sibling-conflict 열린 형제 PR 과 같은 파일에서 충돌 — 나중에 머지되는 쪽이 base 를 병합해야 한다. 해소되면 자동으로 떨어진다 label Sep 27, 2026
@github-actions

github-actions Bot commented Sep 27, 2026 •

Copy link
Copy Markdown
Contributor

형제 충돌이 해소됐다 — 지금은 이 PR 과 같은 파일을 서로 다르게 고친 열린 PR 이 없다 (#1750).
다시 생기면 이 코멘트를 현재 상태로 고쳐 쓴다.

@github-actions github-actions Bot removed the sibling-conflict 열린 형제 PR 과 같은 파일에서 충돌 — 나중에 머지되는 쪽이 base 를 병합해야 한다. 해소되면 자동으로 떨어진다 label Sep 27, 2026
@OnlyReadOneBook
OnlyReadOneBook removed this pull request from stack #2125 September 27, 2026 04:44
@OnlyReadOneBook
OnlyReadOneBook changed the base branch from refactor/1429-setting-repositories to refactor/2179-setting-editors-mvi September 27, 2026 04:44
@OnlyReadOneBook
OnlyReadOneBook added this pull request to stack #2181 September 27, 2026 04:44
@github-actions github-actions Bot added the conflict base 와 충돌 — CI 가 트리거되지 않는다. base 를 병합하면 자동으로 떨어진다 label Sep 27, 2026
@github-actions

Copy link
Copy Markdown
Contributor

이 PR 은 refactor/2179-setting-editors-mvi 와 충돌 상태이고, 그래서 CI 가 돌지 않는다.

pull_request 워크플로는 base 와 head 를 합친 가상 머지 커밋(refs/pull/<N>/merge)에서
실행되는데, 충돌이면 GitHub 이 그 ref 를 만들지 못해 워크플로가 트리거조차 되지 않는다.
체크가 실패하는 것이 아니라 아예 생성되지 않으므로, 새 커밋을 올려도 no checks reported
인 채 최신 커밋이 한 번도 검증되지 않은 상태로 남는다 (#1028).

refactor/2179-setting-editors-mvi 를 병합해 충돌을 풀면 검증이 다시 돈다. 해소되면 이 라벨은 자동으로 떨어진다.

…i' into tmp/2124-conflict

# Conflicts:
#	feature/setting/presentation/src/main/kotlin/com/afternote/feature/setting/presentation/delivery/DeliveryConditionViewModel.kt
#	feature/setting/presentation/src/main/kotlin/com/afternote/feature/setting/presentation/receiver/ReceiverEditViewModel.kt
@github-actions github-actions Bot removed the conflict base 와 충돌 — CI 가 트리거되지 않는다. base 를 병합하면 자동으로 떨어진다 label Sep 28, 2026
@OnlyReadOneBook
OnlyReadOneBook removed this pull request from stack #2181 October 1, 2026 11:22
@OnlyReadOneBook
OnlyReadOneBook added this pull request to stack #2228 October 1, 2026 11:22

@Sadturtleman Sadturtleman left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

MVI 선행 위로 옮긴 UseCase 소비가 기존 결과 분기와 취소 전파를 그대로 유지하는 것을 확인했습니다. 최신 head 기준으로 다시 승인합니다.

Merged via the queue into develop with commit 62d4cd1 Oct 5, 2026
24 checks passed
@OnlyReadOneBook
OnlyReadOneBook deleted the refactor/1691-setting-save-usecases branch October 5, 2026 08:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

refactor(setting): 수신자 저장·전달조건 정책을 UseCase로 분리한다

2 participants