The code fix was already applied in commit 6fe778b. This commit adds documentation noting that the index builder needs to be run to regenerate static JSON with correct winner badges. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
1.2 KiB
1.2 KiB
Bug Fix bf-3mx7: Match Index Winner Badge
Problem
The match index winner badge was never showing because the Won field was incorrectly set using p.BotID == m.WinnerID. The issue: m.WinnerID is a player-slot integer as string (e.g. "2"), not a bot_id. The SQL query already computed the correct winner status in the p.Won field.
Fix Applied
Fixed in commit 6fe778b - Changed all occurrences from comparing p.BotID == m.WinnerID to using p.Won directly:
- matchToSummary (line ~355): Changed
Won: p.BotID == m.WinnerIDtoWon: p.Won - buildPlaylistMatch (line ~982): Changed
Won: p.BotID == m.WinnerIDtoWon: p.Won - ratingUpsetMagnitude: Use
p.Wonto identify winner instead of comparing withm.WinnerID - maxScoreDiff: Use
p.Wonto identify winner instead of comparing withm.WinnerID - isEvolutionBreakthrough: Find winner using
p.Wonbefore checking if evolved
Next Steps
To apply the fix to production data:
- Run the index builder to regenerate static JSON files with correct winner badges
- This requires database access and running:
go run cmd/acb-index-builder/main.go
Impact
This fixes the issue where 984/1000 production matches had winner_id set but all participants showed won: false.