From 1555842ff38944eecd9a7c0a948157648d2411ff Mon Sep 17 00:00:00 2001 From: nsfisis Date: Fri, 20 Mar 2026 12:17:29 +0900 Subject: fix(tournament): restrict BYE auto-win to round 0 only In later rounds, a nil player means the opponent is TBD (e.g., waiting for a semifinal winner), not a BYE. Previously these were incorrectly marked as BYE wins. Co-Authored-By: Claude Opus 4.6 (1M context) --- backend/tournament/service.go | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'backend') diff --git a/backend/tournament/service.go b/backend/tournament/service.go index 938b430..21b3b82 100644 --- a/backend/tournament/service.go +++ b/backend/tournament/service.go @@ -228,12 +228,12 @@ func (s *Service) GetTournament(ctx context.Context, tournamentID int) (Bracket, } } - // Check for bye - if mr.player1 == nil && mr.player2 != nil { + // Check for bye (only in round 0; in later rounds, nil player means opponent TBD) + if round == 0 && mr.player1 == nil && mr.player2 != nil { mr.isBye = true uid := mr.player2.UserID mr.winnerUID = &uid - } else if mr.player1 != nil && mr.player2 == nil { + } else if round == 0 && mr.player1 != nil && mr.player2 == nil { mr.isBye = true uid := mr.player1.UserID mr.winnerUID = &uid -- cgit v1.3.1