왜
- 소셜(그룹) 토너먼트에서 참여자가 주최자보다 먼저 완주하면, 결과 화면의 "전체 결과 보기" 배너가 안 보인다. 다른 사람이 완주한 뒤 화면을 새로고침(refetch)해야만 나타난다 — UX 저하.
- 원인: 배너 노출을 서버의
completed.hasGroupResult 하나로 제어하는데, 이 값은 "완료된 플레이어 수 ≥ 2"(= 그룹 결과 조회 가능 여부, TournamentService.computeHasGroupResult)로 계산된다. 혼자 먼저 완주한 시점엔 false라 배너가 미노출된다. 플레이 링크 게스트는 링크 자체가 주최자 완주 후 생기므로 항상 뒤였다.
- 근본 원인: "노출 여부"와 "조회 가능 여부"가 한 플래그에 묶여 있다.
무엇을
- COMPLETED 응답에 소셜(그룹) 토너먼트 여부 플래그 **
isGroupTournament(참여자 ≥ 2, 완료 무관)**를 추가한다. 계산은 root 기준 전체 TU 수 + 전체 CLONE 수 ≥ 2.
- 클라는
isGroupTournament로 배너를 노출하고, hasGroupResult로 활성/비활성(다른 사람 결과가 아직 없으면 empty state)을 가른다. 첫 완주자가 누구든 새로고침 없이 "결과 모이는 중"을 인지한다.
hasGroupResult는 현행(완료 ≥ 2 = 조회 가능) 유지.
- 부수 정정:
TournamentApi.kt의 hasGroupResult 설명이 실제 계산(완료 2명)과 어긋난("참여자 2명 이상") 것을 바로잡고, example·응답 문서 갱신.
클라 후속 (별도 레포)
노출 조건을 hasGroupResult → isGroupTournament로 교체 + 비활성/empty state UI + tournamentResponse.ts:110 옛 주석(core#370 스펙) 갱신.
왜
completed.hasGroupResult하나로 제어하는데, 이 값은 "완료된 플레이어 수 ≥ 2"(= 그룹 결과 조회 가능 여부,TournamentService.computeHasGroupResult)로 계산된다. 혼자 먼저 완주한 시점엔false라 배너가 미노출된다. 플레이 링크 게스트는 링크 자체가 주최자 완주 후 생기므로 항상 뒤였다.무엇을
isGroupTournament(참여자 ≥ 2, 완료 무관)**를 추가한다. 계산은 root 기준전체 TU 수 + 전체 CLONE 수 ≥ 2.isGroupTournament로 배너를 노출하고,hasGroupResult로 활성/비활성(다른 사람 결과가 아직 없으면 empty state)을 가른다. 첫 완주자가 누구든 새로고침 없이 "결과 모이는 중"을 인지한다.hasGroupResult는 현행(완료 ≥ 2 = 조회 가능) 유지.TournamentApi.kt의hasGroupResult설명이 실제 계산(완료 2명)과 어긋난("참여자 2명 이상") 것을 바로잡고, example·응답 문서 갱신.클라 후속 (별도 레포)
노출 조건을
hasGroupResult→isGroupTournament로 교체 + 비활성/empty state UI +tournamentResponse.ts:110옛 주석(core#370 스펙) 갱신.