From c1f7ef716138390e2154d4e7ad9561ba8ca3b4d4 Mon Sep 17 00:00:00 2001 From: Yu Sung Date: Thu, 8 Oct 2026 20:35:16 +0900 Subject: [PATCH] =?UTF-8?q?docs(gift):=20TALK=20=EB=AC=B8=EC=9D=98=20?= =?UTF-8?q?=EA=B2=80=EC=A6=9D=20=EA=B2=B0=EA=B3=BC=EB=A5=BC=20=EA=B8=B0?= =?UTF-8?q?=EB=A1=9D=ED=95=9C=EB=8B=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/20261006_선물_UI_추가/plan-task.md | 49 +++++++++++++++++++++++-- 1 file changed, 45 insertions(+), 4 deletions(-) diff --git a/docs/20261006_선물_UI_추가/plan-task.md b/docs/20261006_선물_UI_추가/plan-task.md index e8c57f5b..7b7a532f 100644 --- a/docs/20261006_선물_UI_추가/plan-task.md +++ b/docs/20261006_선물_UI_추가/plan-task.md @@ -2,12 +2,12 @@ | 문서 항목 | 내용 | |---|---| -| 상태 | Phase 11 코드·정적 Gate 승인, runtime 검증 대기 | +| 상태 | Phase 12 코드·정적 Gate 승인, runtime 검증 대기 | | 작성일 | `2026-10-06` | | 요구사항 기준 | `docs/20261006_선물_UI_추가/prd.md` | | API 기준 | `docs/20261006_선물_UI_추가/prd.md` §11 | -| 현재 Phase | Phase 11 선물 딥링크·정책 링크·크리에이터 표시 보정 | -| 현재 활성 Goal | `P11-GATE` 인증 runtime 검증 대기 | +| 현재 Phase | Phase 12 선물 상세 TALK 문의 연결 | +| 현재 활성 Goal | `P12-GATE` 인증 runtime 검증 대기 | ## 목표 @@ -28,6 +28,7 @@ | 9 | 구현·focused 검사 완료 | `2/2` | `P9-GATE` | 최종 build 및 Kakao/화면 runtime 미검증 | | 10 | 코드·정적 gate 승인, runtime 미완료 | `6/6` | `P10-GATE` runtime 검증 대기 | 인증 실행 환경 부재 | | 11 | 코드·정적 gate 승인, runtime 미완료 | `3/3` | `P11-GATE` 인증 runtime 검증 대기 | 인증 실행 환경과 화면 캡처 부재 | +| 12 | 코드·정적 gate 승인, runtime 미완료 | `1/1` | `P12-GATE` 인증 runtime 검증 대기 | 인증 실행 환경과 외부 앱 전환 확인 부재 | 완료된 Task와 검증 기록은 삭제하지 않는다. 후속 수정은 새 Task 또는 정정 기록으로 누적한다. @@ -43,6 +44,7 @@ - `deepLinkValue=GIFT_DETAIL`, `deepLinkId=applicationNo` 딥링크 진입. - `gift-detail/{applicationNo}` 경로형 딥링크 진입. - 선물 보내기 화면의 크리에이터 프로필 이미지, 파손 정책 링크, 채널 버튼 UI 보정. +- 선물 상세의 상태별 `문의하기`와 고객센터 `TALK 문의` action 통합. ### 제외 @@ -1059,6 +1061,41 @@ git diff --check **Expected:** 모든 자동 검증 exit 0, 양 스킴 `BUILD SUCCEEDED`. 인증 실행 환경이 없으면 runtime Gate만 미완료로 남긴다. +## Phase 12 선물 상세 TALK 문의 연결 + +**Phase 결과:** 선물 상세의 발신·수신 전달 불가와 취소 완료 `문의하기`가 앱 내 고객센터로 이동하지 않고 고객센터의 `TALK 문의`와 같은 action을 실행한다. + +**상태:** 코드·정적 Gate 승인, runtime 검증 대기. + +### Task 12.1 고객센터 TALK 문의 action 재사용 + +**Goal 실행 `P12-T1`:** 기존 고객센터 TALK URL 열기 action을 공용화하고 세 선물 상세 문의 버튼에서 재사용한다. + +- **시작 조건:** PRD `DETAIL-007`, `DEC-015` 확정. +- **완료 증거:** source contract RED/GREEN, 직접 영향 회귀, 양 스킴 generic iOS Debug build. +- **범위 밖:** 버튼 문구·노출 조건·스타일·레이아웃, 새 route/webview/dependency/API. + +**Files:** + +- Modify: `SodaLive/Sources/MyPage/ServiceCenter/ServiceCenterView.swift` +- Modify: `SodaLive/Sources/V2/Gift/Detail/Components/GiftDetailActionBar.swift` +- Modify: `SodaLive/Sources/V2/Gift/Detail/Components/ReceivedGiftDetailContentView.swift` +- Modify: `SodaLive/Sources/V2/Gift/Detail/Components/GiftCancelCompleteView.swift` +- Modify if orphaned: `SodaLive/Sources/V2/Gift/Constants/GiftConstants.swift` +- Create: `work/tests/check-gift-detail-talk-inquiry.sh` + +- [x] **RED:** 고객센터와 세 선물 상세 문의 버튼이 하나의 TALK action을 사용하고 선물 상세에 `.serviceCenter` 이동과 URL 복제가 없는 source contract를 작성한다. +- [x] **RED 확인:** `bash work/tests/check-gift-detail-talk-inquiry.sh`가 공용 action 부재 때문에 실패하는지 확인한다. +- [x] **GREEN:** 기존 Kakao TALK URL 열기를 작은 공용 함수로 옮기고 고객센터 및 세 선물 상세 버튼이 호출하게 한다. 기존 guard·상태·UI는 유지한다. +- [x] **GREEN 확인:** 같은 source contract가 성공한다. +- [x] **REFACTOR:** 새로 미사용된 `GiftConstants.inquiryStep`만 제거하고 직접 영향 회귀와 양 스킴 build 결과를 Progress에 기록한다. + +### Phase 12 Gate + +- [x] `bash work/tests/check-gift-detail-talk-inquiry.sh`, 관련 Gift focused 검사, Swift/shell parse, `git diff --check`가 성공한다. +- [x] `SodaLive-dev`, `SodaLive` generic iOS Debug build가 `BUILD SUCCEEDED`다. +- [ ] runtime 가능 시 세 버튼이 Kakao TALK 문의를 여는지 확인하고 불가능하면 미검증 사유를 기록한다. + ## 실행 순서와 의존성 | 순서 | Goal | 선행조건 | 병행 가능 | 차단 시 다음 행동 | @@ -1080,9 +1117,11 @@ git diff --check | 15 | `P11-T2` | PRD Phase 11 승인 | `P11-T1`과 가능 | profile/policy mode 분리 검증 | | 16 | `P11-T3` | `P11-T2` | 아니요 | 공유 action file 순차 수정 | | 17 | `P11-GATE` | `P11-T1`~`P11-T3` | 아니요 | 실패 소유 Task에 회귀 Task 추가 | +| 18 | `P12-T1` | PRD `DETAIL-007` 확정 | 아니요 | 기존 고객센터 TALK action 재확인 | +| 19 | `P12-GATE` | `P12-T1` | 아니요 | 실패 소유 Task 수정 | ```text -P2 -> P3/P4/P5 -> P6/P7 -> P8/P9/P10 -> P11 +P2 -> P3/P4/P5 -> P6/P7 -> P8/P9/P10 -> P11 -> P12 ``` ## 변경 금지 항목 @@ -1169,6 +1208,7 @@ P2 -> P3/P4/P5 -> P6/P7 -> P8/P9/P10 -> P11 | 2026-10-08 | `P11-T3` | button source contract가 기존 text-only outline UI에서 RED임을 확인했다. 기존 predicate와 세 recipient route 값을 유지하면서 20pt `ic_send_gift`, 검은 문구, 흰색 capsule을 적용했고 button mode와 전체 Phase 11 source contract, shell parse가 GREEN이다. Talk/DM UI는 변경하지 않았다. | | 2026-10-08 | `P11-GATE` | 계획된 경로형 누락 identifier 거부와 path splash pending coverage를 보강해 deep-link harness 22 assertions가 GREEN이다. Phase 11 profile/policy/button, address, contact 80, recipient 280, recipient-form, received-states, decoding 22 assertions와 shell parse, `git diff --check`가 성공했다. `SodaLive-dev`, `SodaLive` generic iOS Debug build는 각각 `BUILD SUCCEEDED`다. 독립 기능 리뷰는 `APPROVE`, Critical/Important/Minor 없음이며 정적 시각 구현도 제품 결함 없이 승인됐다. 인증 화면 screenshot·링크 탭·VoiceOver·좁은 화면/Dynamic Type은 실행 환경 부재로 미완료다. | | 2026-10-08 | `P7-R1` | source check 기대값을 Figma 전달 불가 안내 문구로 먼저 바꿔 `bash work/tests/check-received-gift-detail.sh received-states`가 `FAIL received-states: disposal warning`으로 실패하는 RED를 확인했다. 이후 발신·수신 상세의 사유 아래 붉은 안내 문구만 교체했고 기존 폰트·색상·조건부 렌더링은 유지했다. received-states 구조 검사, `bash -n work/tests/check-received-gift-detail.sh`, Swift parse, `git diff --check`, `SodaLive-dev` generic iOS Debug build가 성공했다. 인증 runtime screenshot, 좁은 화면 실제 줄바꿈, Dynamic Type·VoiceOver QA는 실행 환경 부재로 미수행이다. | +| 2026-10-08 | `P12-T1` | `bash work/tests/check-gift-detail-talk-inquiry.sh`가 `ServiceCenterInquiry.openTalk` 부재로 RED임을 확인했다. 기존 고객센터 Kakao TALK URL 열기를 `ServiceCenterInquiry.openTalk()`으로 공용화하고 발신 전달 불가, 수신 전달 불가, 취소 완료 상세의 세 `문의하기`가 호출하도록 교체했다. 기존 문구·노출 조건·style·연속 탭 guard는 유지했고 미사용된 `GiftConstants.inquiryStep`만 제거했다. 신규 contract, received-states, cancel-loading, decoding 22 assertions, deep-link 22 assertions, Phase 11 회귀, Swift/shell parse가 GREEN이다. `SodaLive-dev` 첫 빌드는 120초 제한으로 중단됐으나 동일 명령 재실행과 `SodaLive` generic iOS Debug build는 각각 `BUILD SUCCEEDED`다. 인증 실행 환경에서 세 상태 버튼의 실제 Kakao TALK 전환은 미수행이다. | ## Decision Log @@ -1188,6 +1228,7 @@ P2 -> P3/P4/P5 -> P6/P7 -> P8/P9/P10 -> P11 | 2026-10-08 | `DEC-012` | 확정 | 파손 면책 행만 새 정책 URL을 사용하고 기존 약관 URL은 유지한다. | 사용자 제공 URL 및 설계 승인 | `P11-T2`, PRD `COMMON-007` | | 2026-10-08 | `DEC-013` | 확정 | Gift source의 브랜드 문구는 이미 `소다라이브`이므로 변경하지 않는다. | source 검색과 사용자 선택 A | Phase 11, PRD `DEC-013` | | 2026-10-08 | `DEC-014` | 확정 | 전달 불가 상세의 붉은 안내 문구는 서버 필드 추가 없이 앱 내 고정 문구로 교체한다. | 사용자 확인: “동일하게 앱 내에 심으면 된다.” | `P7-R1`, PRD `RECV-008` | +| 2026-10-08 | `DEC-015` | 확정 | 선물 상세의 세 `문의하기`는 고객센터 화면 이동 대신 고객센터 `TALK 문의`와 같은 공용 action을 호출한다. | 사용자 요청과 기존 고객센터 action 확인 | `P12-T1`, PRD `DETAIL-007` | ## 발견된 문제