fdf4c94811
Build & Test (NowChessSystems) TeamCity build finished
joinTournament only ever had a token for the startup difficulty (default medium); other difficulties fell back to the single shared TOURNAMENT_BOT_TOKEN, which our tournament server rejects (401), surfacing as 400 "Failed to join tournament" in the UI. Resolve and cache a token for the requested difficulty instead. Prefer the account-service token over anonymous register in resolveToken so the bot joins as its canonical identity rather than a throwaway account (medium joined but never appeared as a participant). Add NativeReflectionConfig for JoinTournamentRequest/Response so the success path serializes in native image instead of returning an empty 200 body. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>