프로젝트

일반

사용자정보

Actions

버그 #600

진행중
RL HP

GetReferralRewards 가 cards 를 빈 배열로 반환해 Referral 레벨 카드가 표시되지 않음

버그 #600: GetReferralRewards 가 cards 를 빈 배열로 반환해 Referral 레벨 카드가 표시되지 않음

Ryan Lee이(가) 약 5시간 전에 추가함.

상태:
신규
우선순위:
높음
담당자:
시작일:
2026/08/10
완료일:
진척도:

0%

추정시간:

설명

Referral 화면의 레벨 카드 스택이 한 장도 표시되지 않습니다. GetReferralRewards 가 cards 를 빈 배열로 내려주는 것이 원인으로 확인돼 서버 측 확인을 요청드립니다.

현상

Referral 탭에서 'Referral rewards' 헤더와 초대 코드 안내 카드만 남고, 그 아래 레벨 카드 영역이 통째로 비어 있습니다.

재현 환경

  • staging (https://edge.alphea.dev), dev 빌드
  • 확인 일시: 2026-08-10
  • 계정: Active today 0 / 총 초대 0, 클레임 이력 없음

실제 서버 응답

POST /alphea.connect.v1.ReferralService/GetReferralRewards · Request {}

{
  "activeInvitees": "0",
  "claimedCount": 0,
  "earnedToday": { "micros": "0" },
  "cards": [],                                    ← 비어 있음
  "completionState": "COMPLETION_BONUS_STATE_LOCKED",
  "completionGoal": "100",
  "completionReward": { "micros": "0" },
  "resetAt": "2026-08-11T00:00:00Z",
  "serverTime": "2026-08-10T09:39:44Z",
  "questDisplayNames": {}
}

응답은 HTTP 200 이고 cards 를 제외한 나머지 필드(activeInvitees·completionGoal·resetAt)는 정상적으로 내려옵니다.

정황 — 카탈로그는 서버에 존재합니다

같은 서버의 QuestService/ListQuests 에는 레벨 카탈로그가 그대로 있습니다.

referral-level-1   metric=QUEST_METRIC_ACTIVE_INVITEE_COUNT  targetValue=1    reward.micros=0
referral-level-5   metric=QUEST_METRIC_ACTIVE_INVITEE_COUNT  targetValue=5    reward.micros=0
referral-level-10  metric=QUEST_METRIC_ACTIVE_INVITEE_COUNT  targetValue=10   reward.micros=0
referral-level-25  metric=QUEST_METRIC_ACTIVE_INVITEE_COUNT  targetValue=25   reward.micros=0

connect-rpc-api.md §10.6 도 "레벨 정의는 진행률 확인을 위해 일반 QuestService 카탈로그에도 노출되지만, 클레임은 오직 ClaimReferralReward 로만 가능하다"고 명시하고 있습니다. 즉 카탈로그 자체는 있는데 ReferralService 쪽 cards 만 비어 있는 상태로 보입니다.

또한 referral-level-* 의 reward.micros 가 모두 0 이고 completionReward.micros 도 0 입니다 — 보상 값이 미설정인지 함께 확인 부탁드립니다.

확인 요청 사항

  1. GetReferralRewards.cards 가 LOCKED 상태를 포함한 카탈로그 전체를 반환하는 것이 맞는지
    (§10.6 응답 예시에는 미달 레벨이 포함돼 있고, "카드 수·레벨·임계값·보상은 모두 서버가 정한다"고 기술돼 있습니다)
  2. 현재 빈 배열이 내려오는 조건이 무엇인지 — 활성 초대 인원 0 이면 제외하는 의도된 동작인지, 카탈로그 조회 누락인지
  3. referral-level-* 및 완주 보너스의 보상 micros 가 모두 0 인 것이 스테이징 미설정 때문인지
  4. 프로덕션(edge.alphea.ai)에서도 동일하게 빈 배열이 내려오는지

클라이언트 현황

  • 클라이언트는 응답의 cards 를 그대로 표시합니다. 레벨 재번호·임계값 재계산·개수 가정·재정렬을 하지 않습니다 (src/services/referralService.ts).
  • 이 구조는 #594 (fix/redmine-594-referral-rewards-authority) 에서 레벨 카드의 권한을 GetReferralRewards 로 확정하며 정해진 계약입니다. 이전에 쓰던 QuestService 카탈로그 기반 카드 생성 경로는 그때 제거했습니다.
  • 따라서 클라이언트가 카드를 합성해 표시하는 방식은 계약 위반이라 적용하지 않았고, 서버가 cards 를 채워주면 별도 앱 수정 없이 정상 동작합니다.
Actions

내보내기 PDF Atom