lq64 828c2a03c1 fix: show finished games on watch page instead of hanging spinner (#16)
Summary
▎
▎ - Opening a finished game caused an infinite spinner because the NDJSON stream never delivers events for finished games — it just hangs waiting for events that will never come
▎ - Fix: fetch the full game state via REST on load (GET .../game/{gameId}), apply it to the board immediately, and only open the stream subscription if the game is still ongoing or pending
▎
▎ Changes
▎
▎ - tournament-watch.component.ts — REST fetch now drives the initial state; stream is only started conditionally; extracted applySnapshot(), isFinished(), subscribeToStream()
▎
▎ Test plan
▎
▎ - [ ] Finished game: board shows final position, correct status label, no spinner
▎ - [ ] Live game: board shows current position, stream updates continue to work
▎ - [ ] Pending game: stream starts and updates once the game begins

---------

Co-authored-by: LQ63 <lkhermann@web.de>
Reviewed-on: #16
2026-06-29 09:47:40 +02:00
2026-04-22 10:22:22 +02:00
2026-04-17 23:20:16 +02:00
2026-06-23 10:33:31 +02:00
2026-05-12 17:33:03 +02:00
2026-06-28 17:49:20 +00:00
2026-05-15 17:01:58 +02:00
2026-04-18 11:36:14 +02:00
2026-04-17 23:20:16 +02:00
2026-04-17 23:20:16 +02:00
2026-04-17 23:20:16 +02:00
2026-04-17 23:20:16 +02:00
2026-06-28 17:49:20 +00:00

NowChess Frontend

Angular 20 frontend for the NowChess board UI.

Tech stack

  • Angular standalone components and route-based pages
  • HTTP and streaming integration for live game updates
  • Asset sprites loaded from arabian-chess/

Project structure

  • src/app/pages page-level containers (welcome, game)
  • src/app/components reusable UI pieces (chess-board, chess-piece)
  • src/app/services API and stream integration (GameApiService)
  • src/app/models shared API/domain types
  • src/app/core/chess chess domain utilities (FEN parsing and square lookup)
  • src/environments environment-specific API base URLs

Run locally

npm install
npm start

Open http://localhost:4200.

Development environment defaults to:

  • API: http://localhost:8080
  • WebSocket: ws://localhost:8080

src/environments/environment.ts is production-oriented (production: true) and src/environments/environment.development.ts is development-oriented (production: false).

Build and test

npm run build
npm test
S
Description
No description provided
Readme 6.9 MiB
Languages
TypeScript 39.8%
CSS 35.5%
HTML 24.5%
Dockerfile 0.1%
Shell 0.1%