Skip to content

fix(home): '수신인 지정 미완료' 칩을 수신자 등록 화면에 연결한다 (#506) - #1052

Merged
Sadturtleman merged 1 commit into
developfrom
fix/506-recipient-chip-nav
Aug 24, 2026
Merged

Sadturtleman merged 1 commit into
developfrom
fix/506-recipient-chip-nav

Conversation

@Sadturtleman

Copy link
Copy Markdown
Collaborator

Closes #506

무엇이 문제였나

onRecipientChipClick 본문이 // TODO: 수신인 지정 화면 Route 추가 후 연결 주석뿐이었다. 칩은 탭 가능한 UI 로 보이는데 눌러도 아무 일이 없다. 목적지 라우트(SettingRoute.RecipientRegisterRoute)와 그리로 가는 액션은 이미 있었고 배선만 빠져 있었다.

목적지를 등록으로 고른 근거

이슈 Note 가 «등록인지 목록인지 기획 확정 전» 이라고 적어 둔 지점이다. 코드가 답을 좁혀 준다.

  • 이 칩은 미완료일 때만 눌린다 (Completed 는 onClick = null)
  • 그 «미완료» 판정이 곧 등록된 수신자가 0명 이다 — 홈 요약이 userRepository.getReceivers() 결과로 정한다

즉 목록으로 보내면 빈 화면이 나오고 사용자는 다시 등록 화면을 찾아야 한다. 상태를 해소하는 화면으로 보내는 쪽만 막다른 길이 아니다. 기획이 «목록» 으로 확정되면 한 줄만 바꾸면 되고, 근거는 docs/qa/assumptions.md 에 남긴다.

실기기 시연 (에뮬레이터, 실서버)

수신자를 지워 「미완료」 상태를 만든 뒤 칩을 눌렀다.

$ DELETE /api/v1/users/receivers/17   → 200   (기록에 붙은 수신자 해제 후)
$ GET    /api/v1/users/receivers      → data: []

홈 진입 → '수신인 지정 미완료' @ (254,551)
칩 탭   → 이름 | 이름을 입력하세요 | 연락처 | … | 관계 | 이메일 | 마지막 인사말
          (수신자 등록 화면)

고치기 전은 이 diff 가 그대로 보여 준다 — 본문이 주석 한 줄이라 탭이 아무 데도 가지 않았다.

검증

ktlintCheck · :app:assembleDebug → BUILD SUCCESSFUL

내비게이션 배선이라 단위 테스트로 고정할 자리가 마땅치 않다(이 레포에 AppNavigationActions 테스트 선례가 없고, NavController 를 세우는 것은 androidTest 범위다). 대신 위 실기 시연으로 확인했다.

🤖 Generated with Claude Code

칩은 클릭 가능한 UI 로 보이지만 onRecipientChipClick 본문이 TODO 주석뿐이라 탭해도
아무 일이 없었다. 목적지 라우트는 이미 있었고 배선만 빠져 있었다.

목적지를 등록으로 고른 근거 — 이 칩은 «미완료» 일 때만 눌리고 그 판정이 곧 «등록된
수신자 0명» 이다(홈 요약이 getReceivers() 결과로 정한다). 목록으로 보내면 빈 화면이
나와 사용자가 다시 등록 화면을 찾아야 한다. 기획 확정 전이라 docs/qa/assumptions.md
에 남긴다.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>

@OnlyReadOneBook OnlyReadOneBook 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.

총평

승인합니다. 배선 한 줄이 빠져 있던 자리를 정확히 채웠고, 목적지 선택 근거도 코드로 좁혀 놨습니다.

검증한 것:

  • SettingRoute.RecipientRegisterRoute 는 SettingNavGraph.kt:124 에 등록돼 있고, settingNavGraph 가 최상위 NavHost 에 붙어 있어 홈 탭에서 직접 navigate 가 성립합니다 (AppNavigation.kt:123).
  • 같은 파일 AppNavigationActions.kt:269 에 이미 동일한 호출 선례가 있어 관행과도 맞습니다.
  • 등록 성공 시 onRegisterSuccess = actions::onRecipientRegisterBack → popBackStack() 이라 홈으로 되돌아옵니다. 바텀바는 bottomBarRoutes 기준이라 등록 화면에서 감춰집니다 — 막다른 길이 없습니다.

지적

  1. [normal] 주석이 존재하지 않는 근거를 가리킨다 → app/src/main/java/com/afternote/afternote_fe/navigation/AppNavigationActions.kt:347 인라인 코멘트.

검증

  • 시안 대조: 해당 없음. 렌더 변경이 없는 내비게이션 배선입니다.
  • 실기동 QA: 저자 시연으로 갈음. 본문의 «수신자 0명 → 칩 탭 → 등록 화면» 시연이 위 라우트 등록 상태와 일치합니다. 별도 재현은 하지 않았습니다.
  • CI: 전 체크 green.

// 0명» 이라(홈 요약이 getReceivers() 결과로 정한다) 목록으로 보내면 빈 화면이
// 나오고 사용자는 다시 등록 화면을 찾아야 한다. 상태를 해소하는 화면으로 보낸다.
//
// 목적지가 등록인지 목록인지는 기획 확정 전이다 (#506) — docs/qa/assumptions.md 참고.

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.

[normal] 이 주석이 가리키는 docs/qa/assumptions.md 에 #506 항목이 없습니다.

$ grep -n -E "506|수신인 지정|RecipientRegister" docs/qa/assumptions.md
(0건)

PR 본문도 «근거는 docs/qa/assumptions.md 에 남긴다» 라고 적었는데 diff 는 이 파일 하나뿐입니다. 지금 상태로 머지되면 나중에 이 판단을 되짚는 사람이 문서를 열었다가 아무것도 못 찾습니다.

문서에 항목을 추가하거나, 추가하지 않을 거라면 주석에서 그 참조를 빼고 여기서 근거를 끝내 주세요.

@Sadturtleman
Sadturtleman merged commit 5af735f into develop Aug 24, 2026
13 checks passed
@Sadturtleman
Sadturtleman deleted the fix/506-recipient-chip-nav branch August 24, 2026 12:54
@github-actions

Copy link
Copy Markdown
Contributor

🚀 QA 배포 권장

QA 포인트

이 판단은 배포를 자동 실행하지 않습니다. deploy일 때 Release Distribution을 수동 실행하세요.

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.

fix(home): 홈 '수신인 지정 미완료' 칩 탭 무동작 — 내비게이션 핸들러 미연결(TODO)

2 participants