Janis
369b8421b1
feat(game): autoformat
Build & Test (NowChessSystems) TeamCity build finished
2026-04-29 20:59:58 +02:00
Janis
75be096c5a
feat(game): add GameWritebackEventDto and update related services for game state management
Build & Test (NowChessSystems) TeamCity build failed
2026-04-29 20:52:50 +02:00
Janis
91efed1370
feat(docker): add DNS configuration and update image references in Docker setup
2026-04-29 10:59:40 +02:00
Janis
47982fb63f
fix(scoverage): correct shebang line in scoverage_coverage_gaps.py
Build & Test (NowChessSystems) TeamCity build failed
2026-04-29 09:01:00 +02:00
Janis
7b52109d11
feat(devcontainer): add Docker and devcontainer configuration for NowChess workspace
2026-04-29 09:00:33 +02:00
Janis
106118ad29
refactor: clean up code formatting and improve readability across multiple files
2026-04-29 08:38:27 +02:00
Janis
5d97c3c8b5
feat(redis): migrate from Redisson to Quarkus Redis client and update configuration
2026-04-28 22:44:10 +02:00
Janis
0652dd2d2f
feat(challenge): replace scala.util.Random with ThreadLocalRandom for better performance and add native build configuration
2026-04-28 19:14:06 +02:00
Janis
4d625b013b
refactor(event): rename BotEventPublisher to EventPublisher and update references
2026-04-28 14:23:16 +02:00
Janis
1ab6532b0a
feat(security): add internal secret handling and Redis integration for bot events
2026-04-28 09:29:05 +02:00
Janis
c10a4d7e64
feat(bot): implement bot architecture with difficulty levels and game context handling
2026-04-28 00:59:32 +02:00
Janis
6b59e68e04
feat(coordinator): add configurable coordinator settings and enhance WebSocket connection handling
Build & Test (NowChessSystems) TeamCity build failed
2026-04-26 22:33:16 +02:00
Janis
64d5afa4d1
feat(coordinator): enhance instance management with game migration count and configurable ports
2026-04-26 20:51:17 +02:00
Janis
57e6e5d200
feat(auto-scaling): enhance AutoScaler with atomic lastScaleTime and improve scaling logic
2026-04-26 19:57:36 +02:00
Janis
106b4d3b7e
feat(coordinator): add Redis integration and improve configuration for game state management
Build & Test (NowChessSystems) TeamCity build was removed from queue
2026-04-26 18:25:03 +02:00
Janis
f327441089
feat(coordinator): scaffold microservice for <300ms failover and load balancing
...
- Add coordinator module with gRPC stream-based instance health detection
- Implement InstanceHeartbeatService in core: bidirectional stream to coordinator every 200ms
- Track game subscriptions per core via Redis Sets (SADD/SREM)
- Add gRPC handlers for batch resubscribe/unsubscribe/evict/drain operations
- Implement coordinator services: InstanceRegistry, FailoverService, LoadBalancer, AutoScaler, CacheEvictionManager
- Add REST API for metrics and manual failover/rebalance/scaling
- Proto definition: coordinator_service.proto with HeartbeatStream + batch game operations
- Failover timeline: gRPC stream drop (50-200ms) → game migration (<300ms target)
- Support for Argo Rollouts auto-scaling (k8s CRD patching via Fabric8 client)
Note: Proto compilation issues documented in COORDINATOR_IMPLEMENTATION.md. Requires:
- Add task dependency: tasks.compileScala dependsOn tasks.compileJava
- Fix deprecated @Inject var = _ → = uninitialized syntax
- Implement remaining service methods (gRPC clients, FailoverService distribution)
Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com >
2026-04-26 08:34:53 +02:00
Janis
83f84371be
feat(redis): implement Redis integration for game state management and websocket communication
2026-04-26 00:13:35 +02:00
Janis
ec09a1bdb9
feat(account): enhance account management with user and bot account functionalities
2026-04-25 12:39:30 +02:00
Janis
b6be0cd249
feat(grpc): implement gRPC services for game context management and move handling
2026-04-25 10:21:58 +02:00
Janis
9a39cd6916
perf(core): reduce inter-service HTTP calls from 11 to 4 per move
...
- Add `postMoveStatus` batch method to `RuleSet` trait (default impl composes
individual calls; `RuleSetRestAdapter` overrides with single HTTP round-trip)
- Collapse 5 sequential rule checks in `GameEngine.executeMove` into one
`postMoveStatus` call
- Add `POST /api/rules/post-move-status` endpoint to rule-service
- Add `exportCombined` to `IoServiceClient` and `POST /io/export/combined`
endpoint to io-service, replacing two separate FEN/PGN HTTP calls
- Fix `statusOf` to pattern-match on `WinReason` from `ctx.result` instead
of making a redundant `isCheckmate` HTTP call
- Remove duplicate `legalMoves` pre-validation in `GameResource.makeMove`;
engine already validates and fires `InvalidMoveEvent`
- Add `scalafix:off` guards for pre-existing `var`/`return` usage in
`DefaultRules` hot-path code
- Apply spotless formatting to previously unformatted files
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-24 20:39:01 +02:00
Janis
3706ece936
feat(game): enhance game engine with resign functionality and optimize move generation
Build & Test (NowChessSystems) TeamCity build was queued
2026-04-24 11:39:50 +02:00
Janis
69851f1ea2
refactor(account): fix linter errors
Build & Test (NowChessSystems) TeamCity build was queued
2026-04-24 10:29:39 +02:00
Janis
3df199afa1
feat(game): introduce game modes and time control features
Build & Test (NowChessSystems) TeamCity build failed
2026-04-23 21:56:21 +02:00
Janis
21d3d87543
feat(account): implement account and challenge management services
2026-04-22 22:17:27 +02:00
Janis
e1f49e9289
feat(account): add configuration for NowChess Account Service
2026-04-22 22:17:14 +02:00