brackt/app/models
Claude 7ca89aafc4
Fix mirrored tournaments dropping QP knockout announcements
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
2026-07-04 16:24:36 +00:00
..
__tests__ Fix mirrored tournaments dropping QP knockout announcements 2026-07-04 16:24:36 +00:00
account.ts
audit-log.ts
autodraft-settings.ts
canonical-golf-skills.ts
canonical-surface-elo.ts
commissioner.ts
cs2-major-stage.ts claude/discord-qualifying-points-t55s3x (#121) 2026-07-01 17:29:45 +00:00
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 Centralize futures odds onto the simulator page and fix bulk import (#117) 2026-06-30 17:05:52 +00:00
participant-result.ts claude/bracket-wins-minimum-qp-el8z14 (#99) 2026-06-19 01:25:17 +00:00
participant-season-result.ts
participant.ts
pending-standings-mappings.ts
playoff-match-game.ts
playoff-match-odds.ts
playoff-match.ts Announce drafted tennis players eliminated in non-scoring rounds 2026-07-03 14:42:06 +00:00
qualifying-points.ts claude/wimbledon-qp-scoring-bug-xevhlf (#127) 2026-07-03 21:40:11 +00:00
regular-season-standings.ts
scoring-calculator.ts Fix mirrored tournaments dropping QP knockout announcements 2026-07-04 16:24:36 +00:00
scoring-event-types.ts Fix Docker build failure caused by server-only import reaching client bundle 2026-07-01 22:36:25 +00:00
scoring-event.ts claude/wimbledon-qp-scoring-bug-xevhlf (#127) 2026-07-03 21:40:11 +00:00
scoring-rules.ts
season-match.ts
season-participant.ts
season-sport.ts
season-template-sport.ts
season-template.ts
season.ts
simulator.ts Centralize futures odds onto the simulator page and fix bulk import (#117) 2026-06-30 17:05:52 +00:00
sport.ts
sports-season.ts Address code-review findings on draft schedule Gantt 2026-07-02 02:33:15 +00:00
standings.ts
surface-elo.ts
team-score-events.ts
team.ts
tournament-group.ts
tournament-result.ts
tournament.ts Improve shared-tournament/event management UX 2026-07-02 05:17:37 +00:00
user.ts
watchlist.ts