fix: resolve each team independently to prevent squadron_long order inversion

When one team has a dash-tag (e.g. -DSPLA-) and the opponent has a normal
tag (e.g. ALUN2), batching both into resolve_clans caused the short-name
pass to place the normal team first in results and the tag pass to append
the dash-tagged team second — inverting the mapping vs. the teams array.
Each team's players were then looked up against the wrong squadron's API,
yielding curr=0 for everyone and diffs=0 on the scoreboard.

Fix: resolve each team concurrently and independently so results are always
index-aligned with the teams list regardless of which resolution path fires.
Also propagates squadron_short to the scoreboard renderer so display names
are clean (DSPLA not -DSPLA-).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
deploy
2026-05-29 17:04:40 +00:00
parent cc4bc14193
commit 606e174a97
2 changed files with 20 additions and 8 deletions
+1 -1
View File
@@ -458,7 +458,7 @@ def _create_scoreboard_sync(match_details,
# --- 1) Squadron header & points ---
squadron_short = team_data.get("squadron", "Unknown")
squadron_short = team_data.get("squadron_short") or team_data.get("squadron", "Unknown")
squadron_long = team_data.get("squadron_long", "Unknown")
matched_diff_source = None
squad_diffs = None