Mirror tournament windows (leagues drafting the same real-world major) announced Qualifying Points awards but silently omitted the "Knocked Out" section. Knockouts are derived only on the primary window's bracket (playoff_matches → newlyDecidedLoserIds); mirrors receive placement/rawScore only, so a player eliminated in a non-scoring round (0 QP) becomes a null-placement filler indistinguishable from "not yet played" — the mirror has no local signal to detect the knockout, and its notification was also gated on QP having changed. Thread the primary's newly-eliminated participants down the fan-out (syncTennisDraw → fanOutMajorIfPrimary → syncMajorFromPrimaryEvent → syncTournamentResults → processQualifyingEvent), translating identity across window boundaries (primary season_participant → canonical participant → each mirror's season_participant), and relax the mirror notification guard to fire on eliminations even when no QP changed — matching the primary path. Reuses the same notifyQualifyingPointsUpdate the primary already calls, so mirrors now produce the same combined "Points Awarded" + "Knocked Out" embed. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01WZGsG5R1q3kyKCaXuysiWJ |
||
|---|---|---|
| .. | ||
| __tests__ | ||
| account.ts | ||
| audit-log.ts | ||
| autodraft-settings.ts | ||
| canonical-golf-skills.ts | ||
| canonical-surface-elo.ts | ||
| commissioner.ts | ||
| cs2-major-stage.ts | ||
| draft-pick.ts | ||
| draft-queue.ts | ||
| draft-slot.ts | ||
| draft-timer.ts | ||
| draft-utils.ts | ||
| ev-snapshot.ts | ||
| event-result.ts | ||
| golf-skills.ts | ||
| group-stage-match.ts | ||
| index.ts | ||
| league.ts | ||
| participant-expected-value.ts | ||
| participant-result.ts | ||
| participant-season-result.ts | ||
| participant.ts | ||
| pending-standings-mappings.ts | ||
| playoff-match-game.ts | ||
| playoff-match-odds.ts | ||
| playoff-match.ts | ||
| qualifying-points.ts | ||
| regular-season-standings.ts | ||
| scoring-calculator.ts | ||
| scoring-event-types.ts | ||
| scoring-event.ts | ||
| scoring-rules.ts | ||
| season-match.ts | ||
| season-participant.ts | ||
| season-sport.ts | ||
| season-template-sport.ts | ||
| season-template.ts | ||
| season.ts | ||
| simulator.ts | ||
| sport.ts | ||
| sports-season.ts | ||
| standings.ts | ||
| surface-elo.ts | ||
| team-score-events.ts | ||
| team.ts | ||
| tournament-group.ts | ||
| tournament-result.ts | ||
| tournament.ts | ||
| user.ts | ||
| watchlist.ts | ||