The tennis Grand Slam draw sync (`syncTennisDraw`) scores its primary window by calling `processQualifyingBracketEvent` directly, which writes QP but never emits the qualifying-points Discord notification (only `processQualifyingEvent` and the CS2 stage scorer did). As a result, running the Wimbledon sync produced no QP notifications for the season that leagues actually draft from. Extract the rescore into `rescoreTennisBracketAndDetectChanges`, which snapshots each participant's awarded QP before rebuilding results and reports whose QP changed. `syncTennisDraw` then calls `notifyQualifyingPointsUpdate` for the primary window, scoped to the changed participants so a re-run that changes nothing announces nothing. The webhook call runs outside the rescore transaction. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Hq3fG4Zn3unntbSQAGSqCq |
||
|---|---|---|
| .. | ||
| components | ||
| contexts | ||
| hooks | ||
| lib | ||
| models | ||
| routes | ||
| services | ||
| test | ||
| types | ||
| utils | ||
| welcome | ||
| app.css | ||
| entry.client.tsx | ||
| entry.server.tsx | ||
| root.tsx | ||
| routes.ts | ||