Skip to content

fix(setting): 프로필 연락처 저장 형식을 검증한다 (#2223) - #2230

Merged
1hyok merged 7 commits into
developfrom
fix/2223-profile-phone
Oct 6, 2026
Merged

1hyok merged 7 commits into
developfrom
fix/2223-profile-phone

Conversation

@1hyok

@1hyok 1hyok commented Oct 1, 2026

Copy link
Copy Markdown
Collaborator

먼저 볼 파일: ProfileEditScreen.kt, ProfileEditViewModel.kt, ProfileEditPhoneTest.kt, ProfileEditViewModelTest.kt.

Closes #2223

프로필 연락처에 01055556666ggyyy 같은 값이 저장되던 문제를 고쳤습니다. 수신자 연락처와 같은 휴대폰 형식 검증을 적용하고, 잘못된 값이면 입력칸에 이유를 표시하고 수정하기 버튼을 비활성화합니다. 서버에 이미 저장된 잘못된 값과 붙여넣은 값도 검증하며, 올바르게 고치면 오류가 사라지고 저장됩니다. 연락처 칸은 전화번호 키패드를 요청합니다.

ViewModel도 사진 업로드와 프로필 PATCH 전에 형식을 확인합니다. 빈 연락처의 null 처리와 유효한 하이픈 포함 값의 저장 방식은 유지합니다. #1437의 필수 여부와 번호 삭제 계약은 바꾸지 않습니다.

실제 base는 #2152의 fix/1438-profile-photo-edit입니다. 선행의 MVI와 사진 선택 상태를 그대로 소비합니다.

검증: 설정 단위 테스트 전체 172건과 ktlint를 통과했습니다. 프로필 22건 중 신규 회귀 6건은 실제 Compose의 전화번호 IME 요청, 잘못된 서버 값·붙여넣기의 오류와 저장 차단, 수정 후 저장, 업로드 전 차단, 빈 값·유효 형식 보존을 확인합니다. 화면 테스트는 Robolectric API 35이며 실제 기기 검증은 포함하지 않습니다.

🧪 CI Test Plan

{
  "androidTest": {
    "mode": "none",
    "reason": "프로필 입력 검증·전화 키패드 요청과 업로드 전 저장 차단만 변경합니다. 실제 Compose 입력 연결의 TYPE_CLASS_PHONE와 오류·저장 흐름은 Robolectric으로, 요청 차단과 기존 저장 값 보존은 ViewModel 단위 테스트로 검증했습니다. Nav3·Activity·사진 피커 계약은 선행 PR 그대로입니다.",
    "tests": []
  }
}

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

프로필 연락처에 수신자와 같은 휴대폰 형식 검증이 UI와 ViewModel 양쪽에 적용되어 잘못된 값의 저장이 막히는 것을 확인했습니다. 빈 값 처리도 기존 계약을 유지해 승인합니다.

@github-actions github-actions Bot added the conflict base 와 충돌 — CI 가 트리거되지 않는다. base 를 병합하면 자동으로 떨어진다 label Oct 5, 2026
@github-actions

github-actions Bot commented Oct 5, 2026

Copy link
Copy Markdown
Contributor

이 PR 은 fix/1438-profile-photo-edit 와 충돌 상태이고, 그래서 CI 가 돌지 않는다.

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

fix/1438-profile-photo-edit 를 병합해 충돌을 풀면 검증이 다시 돈다. 해소되면 이 라벨은 자동으로 떨어진다.

1hyok added 2 commits October 6, 2026 04:46
…o fix/2223-profile-phone

# Conflicts:
#	feature/setting/presentation/src/main/kotlin/com/afternote/feature/setting/presentation/profile/ProfileEditScreen.kt
#	feature/setting/presentation/src/main/kotlin/com/afternote/feature/setting/presentation/profile/ProfileEditViewModel.kt
Base automatically changed from fix/1438-profile-photo-edit to develop October 6, 2026 04:54
@github-actions github-actions Bot removed the conflict base 와 충돌 — CI 가 트리거되지 않는다. base 를 병합하면 자동으로 떨어진다 label Oct 6, 2026
@1hyok
1hyok added this pull request to the merge queue Oct 6, 2026
Merged via the queue into develop with commit 8c24f61 Oct 6, 2026
21 checks passed
@1hyok
1hyok deleted the fix/2223-profile-phone branch October 6, 2026 06: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.

fix(setting): 프로필 연락처에 문자 혼합 값을 저장할 수 있다

2 participants