Skip to content

소셜 토너먼트 첫 완주자에게 전체 결과 배너가 안 보이는 문제 수정 #975

Description

@sevineleven

  • 소셜(그룹) 토너먼트에서 참여자가 주최자보다 먼저 완주하면, 결과 화면의 "전체 결과 보기" 배너가 안 보인다. 다른 사람이 완주한 뒤 화면을 새로고침(refetch)해야만 나타난다 — UX 저하.
  • 원인: 배너 노출을 서버의 completed.hasGroupResult 하나로 제어하는데, 이 값은 "완료된 플레이어 수 ≥ 2"(= 그룹 결과 조회 가능 여부, TournamentService.computeHasGroupResult)로 계산된다. 혼자 먼저 완주한 시점엔 false라 배너가 미노출된다. 플레이 링크 게스트는 링크 자체가 주최자 완주 후 생기므로 항상 뒤였다.
  • 근본 원인: "노출 여부"와 "조회 가능 여부"가 한 플래그에 묶여 있다.

무엇을

  • COMPLETED 응답에 소셜(그룹) 토너먼트 여부 플래그 **isGroupTournament(참여자 ≥ 2, 완료 무관)**를 추가한다. 계산은 root 기준 전체 TU 수 + 전체 CLONE 수 ≥ 2.
  • 클라는 isGroupTournament배너를 노출하고, hasGroupResult활성/비활성(다른 사람 결과가 아직 없으면 empty state)을 가른다. 첫 완주자가 누구든 새로고침 없이 "결과 모이는 중"을 인지한다.
  • hasGroupResult는 현행(완료 ≥ 2 = 조회 가능) 유지.
  • 부수 정정: TournamentApi.kthasGroupResult 설명이 실제 계산(완료 2명)과 어긋난("참여자 2명 이상") 것을 바로잡고, example·응답 문서 갱신.

클라 후속 (별도 레포)

노출 조건을 hasGroupResultisGroupTournament로 교체 + 비활성/empty state UI + tournamentResponse.ts:110 옛 주석(core#370 스펙) 갱신.

Metadata

Metadata

Assignees

Labels

fix외부 가시적 결함 수정

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions