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
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
TeamCity
67511fc649
ci: bump version with Build-50
2026-04-22 08:21:04 +00:00
Janis
093134d36c
feat(rule): Rules as a microservice ( #39 )
...
Build & Test (NowChessSystems) TeamCity build finished
Co-authored-by: LQ63 <lkhermann@web.de >
Co-authored-by: TeamCity <teamcity@service.local >
Reviewed-on: #39
2026-04-22 10:09:35 +02:00
TeamCity
52b171c7af
ci: bump version with Build-46
Build & Test (NowChessSystems) TeamCity build finished
2026-04-22 06:51:59 +00:00
Janis
a386f57c21
fix: IO microservice ( #38 )
...
Reviewed-on: #38
2026-04-22 08:36:54 +02:00
TeamCity
3ca2afbb4b
ci: bump version with Build-45
2026-04-21 13:49:26 +00:00
Janis
b5a2966ada
feat: NCS-53 changed IO to MicroService for easier scaling ( #37 )
...
Reviewed-on: #37
Reviewed-by: Shahd Lala <shosho996@blackhole.local >
2026-04-21 15:38:58 +02:00
TeamCity
74a4fce0ca
ci: bump version with Build-44
2026-04-21 11:13:30 +00:00
Janis
8fc97bde02
refactor: align JSON string formatting in JsonParserTest
2026-04-21 13:02:18 +02:00
shosho996
2d75b2e80e
test: NCS-45 IO Test reduction ( #32 )
...
Co-authored-by: shahdlala66 <shahd.lala66@gmail.com >
Reviewed-on: #32
Co-authored-by: Shahd Lala <shosho996@blackhole.local >
Co-committed-by: Shahd Lala <shosho996@blackhole.local >
2026-04-21 12:39:19 +02:00
Janis
f088c4e9ff
feat: NCS-37 Quarkus integration ( #35 )
...
Reviewed-on: #35
Reviewed-by: Leon Hermann <lq@blackhole.local >
2026-04-21 12:35:20 +02:00
TeamCity
8a1cf909d4
ci: bump version with Build-43
2026-04-19 20:53:56 +00:00
Janis
33e785d22a
feat: NCS-40 Rework Draw System ( #34 )
...
Reviewed-on: #34
Reviewed-by: Shahd Lala <shosho996@blackhole.local >
Co-authored-by: Janis <janis.e.20@gmx.de >
Co-committed-by: Janis <janis.e.20@gmx.de >
2026-04-19 22:44:48 +02:00
TeamCity
d16cec176b
ci: bump version with Build-42
2026-04-19 14:01:11 +00:00
Janis
8744bee2dd
feat: NCS-41 Bot Platform ( #33 )
...
Co-authored-by: Janis <janis@nowchess.de >
Reviewed-on: #33
Co-authored-by: Janis <janis.e.20@gmx.de >
Co-committed-by: Janis <janis.e.20@gmx.de >
2026-04-19 15:52:08 +02:00
TeamCity
5f4d33f3ca
ci: bump version with Build-41
2026-04-16 16:55:00 +00:00
Janis
767d3051a7
feat: NCS-13 Implement Threefold Repetition ( #31 )
...
Build & Test (NowChessSystems) TeamCity build finished
Reviewed-on: #31
2026-04-16 18:49:20 +02:00
TeamCity
b2e62dc60c
ci: bump version with Build-40
2026-04-14 19:23:01 +00:00
Janis
b0399a4e48
feat: NCS-14 implemented insufficient moves rule ( #30 )
...
Build & Test (NowChessSystems) TeamCity build finished
Reviewed-on: #30
Co-authored-by: Janis <janis.e.20@gmx.de >
Co-committed-by: Janis <janis.e.20@gmx.de >
2026-04-14 21:17:56 +02:00
TeamCity
ec2ab2f365
ci: bump version with Build-39
2026-04-12 19:03:52 +00:00
Janis
fd4e67d4f7
feat: NCS-25 Add linters to keep quality up ( #27 )
...
Build & Test (NowChessSystems) TeamCity build finished
Reviewed-on: #27
Reviewed-by: Leon Hermann <lq@blackhole.local >
Co-authored-by: Janis <janis.e.20@gmx.de >
Co-committed-by: Janis <janis.e.20@gmx.de >
2026-04-12 20:58:39 +02:00
TeamCity
3cb3160731
ci: bump version with Build-38
2026-04-12 17:41:12 +00:00
Janis
dbcafd2869
feat: NCS-29 JSON - Cherry Picked ( #28 )
...
Build & Test (NowChessSystems) TeamCity build finished
Reviewed-on: #28
Reviewed-by: Shahd Lala <shosho996@blackhole.local >
Co-authored-by: Janis <janis.e.20@gmx.de >
Co-committed-by: Janis <janis.e.20@gmx.de >
2026-04-12 19:36:02 +02:00
TeamCity
3ecb2c9d66
ci: bump version with Build-37
2026-04-12 15:20:01 +00:00
TeamCity
e158b0a7f0
ci: bump version with Build-36
2026-04-12 14:45:56 +00:00
TeamCity
9d11d25b99
ci: bump version with Build-35
2026-04-08 07:37:40 +00:00
lq64
7a045d31d7
feat: NCS-31 FastParse FEN ( #22 )
...
Build & Test (NowChessSystems) TeamCity build finished
Summary
- Added fastparse_3:3.0.2 dependency to modules/io
- Implemented FenParserFastParse as a second alternative FEN parser using FastParse, with the same public API as
FenParser and FenParserCombinators
- Parsers are built bottom-up using (using P[Any]) Scala 3 syntax with NoWhitespace.* to prevent implicit whitespace
skipping; rank sum validation uses Pass/Fail inside .flatMap
- Added FenParserFastParseTest mirroring FenParserCombinatorsTest to prove behavioural equivalence across all three
implementations
Test plan
- All existing tests pass — FenParser, FenParserCombinators, and all other modules untouched
- FenParserFastParseTest covers all cases: valid FEN, invalid color, invalid castling, invalid board shapes, en
passant, rank overflow, round-trip via FenExporter
- All parser logic branches genuinely covered — known scoverage gap documented in docs/unresolved.md (FastParse inline
macro generates synthetic proxy methods that scoverage instruments but that never execute at runtime)
Co-authored-by: LQ63 <lkhermann@web.de >
Reviewed-on: #22
Reviewed-by: Janis <janis-e@gmx.de >
Co-authored-by: Leon Hermann <lq@blackhole.local >
Co-committed-by: Leon Hermann <lq@blackhole.local >
2026-04-08 09:32:57 +02:00
TeamCity
b518c704fa
ci: bump version with Build-34
2026-04-07 19:42:37 +00:00
Janis
fe8e3c0539
fix: NCS-32 Queenside Castle doesn't care about pieces in the way ( #23 )
...
Build & Test (NowChessSystems) TeamCity build finished
Reviewed-on: #23
Co-authored-by: Janis <janis.e.20@gmx.de >
Co-committed-by: Janis <janis.e.20@gmx.de >
2026-04-07 20:32:48 +02:00