버그 #598
진행중[버그] 퀘스트 이름 미적용
0%
설명
레퍼럴 퀘스트 테스트를 진행했는데 레퍼럴 보상은 제대로 받는것을 확인했습니다.
그런데 퀘스트 페이지에서 지정해 놓은 이름이 레퍼럴 보상쪽에 정상적으로 반영되지 않는것을 확인했습니다.
다른 퀘스트는 정상적으로 이름이 적용되는것을 확인했습니다.

파일
RL Ryan Lee이(가) 3달 전에 변경
- 상태을(를) 신규에서 진행(으)로 변경되었습니다.
클라이언트 선행 대응을 커밋했습니다 (dev 9a3287c).
포인트 내역의 부제 우선순위를 바꿔, 서버가 레퍼럴 원장 행 metadata 에 quest_id 를 채우는 순간
앱 재배포 없이 어드민 지정 이름이 표시되도록 맞춰 두었습니다. quest_id 가 없는 응답은 종전대로
'Level N' 으로 떨어지므로 지금 상태에서도 화면 변화는 없습니다.
다만 이 커밋만으로는 증상이 해소되지 않습니다 — 현재 레퍼럴 행에는 quest_id 가 없고
referral_level 만 있어, 표시 이름 사전(questDisplayNames)과 이을 키가 클라이언트에 없습니다.
레벨 카드와 퀘스트 목록을 threshold 로 조인하는 방식은 #594 에서 금지한 패턴이라 쓰지 않았습니다.
서버 쪽 작업이 필요합니다. 두 방안을 정리해 두었으니 (docs/sdk-issues/point-history-referral-name.md)
어느 쪽으로 갈지 회신 부탁드립니다.
- 방안 A (선호) : 레퍼럴 원장 행 metadata 에 quest_id 를 채우고 questDisplayNames 에 해당 항목 동봉.
PointHistoryMetadata 에 quest_id 필드는 이미 정의돼 있습니다. 클라이언트는 대응 완료. - 방안 B : GetReferralRewards.cards[] 에 name 추가. 이 경우 Point history 화면에 조회를
새로 붙여야 하므로 클라이언트 추가 작업이 필요합니다.
RL Ryan Lee이(가) 3달 전에 변경
- 상태을(를) 진행에서 해결(으)로 변경되었습니다.
앞선 코멘트를 정정합니다 — 서버는 이미 반영돼 있었습니다.
Core dev 665a297 이 레퍼럴 카드에 quest_id 를 싣고 같은 키의 questDisplayNames 를 직렬화하고
있습니다(방안 A). 제가 "서버 회신 대기"라고 적은 것은 이 배포 사실을 모르고 쓴 것입니다.
클라이언트도 머지 완료했습니다.
- dev 9a3287c : 부제 우선순위 조정 (questId 우선)
- MR !14 (dev 84e9943, henrypark) : 이름이 없을 때 raw questId 가 노출되던 빈틈을 막고
레퍼럴에 한해 Level N 폴백을 유지 + 화면 렌더 회귀 테스트 추가
동작 — 레퍼럴 내역 행은 어드민 지정 이름이 유효하면 그 이름으로, 이름이 없거나 공백·키 불일치면
종전 'Level N' 으로 표시됩니다. 어드민에 이름이 비어 있는 레벨은 계속 'Level N' 으로 보이므로,
그 레벨들도 이름이 필요하면 어드민에서 채워 주시면 됩니다.
검증 — npm run typecheck 통과, 전체 81 스위트 / 762 테스트 통과.
레퍼럴 부제 관련 케이스(이름 있음 / 사전 없음 / 키 불일치 / 공백 / 비문자열 / questId 없음)와
PointHistoryScreen 렌더 2건을 테스트로 고정했습니다.
앱 빌드에 반영된 뒤 화면에서 재확인 부탁드립니다.