Map raw backend response (evaluation/continuationMoves) to frontend
model (eval/winChance/continuations). Add getFenHistory() call after
loading a game or PGN so runAnalysis() gets per-ply FEN history and
triggers analyzeGame() instead of falling back to single-position
analysis. Remove !hasAnnotations guard so positionAnalysis card shows
even when a game is loaded.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Remove token from WebSocket URL query parameters in ChallengeWebSocketService
and GameApiService. Instead, send {"type":"auth","token":"..."} as the first
text frame after the connection opens, matching the new backend auth protocol.
---------
Co-authored-by: LQ63 <lkhermann@web.de>
Reviewed-on: #13
OfficialBotService posts to /api/bots/official/join-tournament, but
the auth interceptor's protected-endpoint whitelist omitted /api/bots,
so no Authorization header was sent and the request hit the official-
bots service anonymously -> 401.
Add /api/bots to the whitelist.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Reviewed-on: #12
POST /api/board/game is @InternalOnly and returns 401 for browser clients.
Switch to /api/board/game/vs-bot which is @PermitAll and notifies the
official-bots service to play the bot side automatically.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Port create-defect, create-story, estimate-issues, fix-defect,
implement-feature and split-story commands, adapted for the Angular
frontend (npm build/test, prettier gates, NCWF routing).
implement-feature now walks subtasks, respects blocked-by, and reports
cross-project (NCS/NCI) tasks. Ignore .claude/worktrees.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
User Profile info, no game before login/register, menu bar
---------
Co-authored-by: Lala, Shahd <Shahd.Lala@sybit.de>
Co-authored-by: shahdlala66 <shahd.lala66@gmail.com>
Reviewed-on: #2