aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authornsfisis <nsfisis@gmail.com>2026-03-20 12:17:29 +0900
committernsfisis <nsfisis@gmail.com>2026-03-20 12:17:29 +0900
commit1555842ff38944eecd9a7c0a948157648d2411ff (patch)
tree6650fcba29bbfea7ee7ed150dd96e20c96351edd
parentb7e43db87b134b19707b70e94b13a72b430c9825 (diff)
downloadphperkaigi-2026-albatross-1555842ff38944eecd9a7c0a948157648d2411ff.tar.gz
phperkaigi-2026-albatross-1555842ff38944eecd9a7c0a948157648d2411ff.tar.zst
phperkaigi-2026-albatross-1555842ff38944eecd9a7c0a948157648d2411ff.zip
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) <noreply@anthropic.com>
-rw-r--r--backend/tournament/service.go6
1 files changed, 3 insertions, 3 deletions
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