Janis
ae3ef766e8
feat(redis): implement game writeback stream processing with error handling and retries
Build & Test (NowChessSystems) TeamCity build failed
2026-05-22 12:37:39 +02:00
Janis
87f29a7204
feat(config): add GameWritebackEventDto to reflection targets
Build & Test (NowChessSystems) TeamCity build finished
2026-05-19 08:49:48 +02:00
Janis
f5614c3582
fix(core): add logs to trace subscribeGame call in createGame
...
Build & Test (NowChessSystems) TeamCity build finished
Track whether subscribeGame is being called and completing successfully
to diagnose empty game-writeback messages.
Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com >
2026-05-18 22:55:33 +02:00
Janis
5619c8223a
fix: resolve 6 coordinator bugs (cache eviction, rebalance race, pod matching, lookup inefficiency)
...
- Add lastUpdatedMs timestamp to GameCacheDto to track actual game updates instead of heartbeat time. Fix cache eviction incorrectly marking correspondence games as idle.
- Use atomic SPOP in LoadBalancer.getGamesToMove() to prevent concurrent rebalance calls from selecting same games for migration.
- Add game→instance reverse mapping (nowchess:game:$gameId:instance) to eliminate O(instances) linear scan during cache eviction.
- Fix HealthMonitor pod matching from loose contains() to reliable endsWith() to prevent matching unintended pods with similar names.
- Update FailoverService to maintain game→instance mappings when migrating games during failover.
- Update CacheEvictionManager to use game→instance mapping for O(1) lookup instead of O(n) instance scan.
Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com >
2026-05-17 17:07:29 +02:00
Janis
8f9eb12f66
feat: implement clock expiry scanning and handling for game records ( #53 )
...
Build & Test (NowChessSystems) TeamCity build finished
Reviewed-on: #53
2026-05-16 13:24:48 +02:00
Janis
73239088d9
fix: NCS-85 Database Writeback fails without Logs ( #52 )
...
Build & Test (NowChessSystems) TeamCity build finished
Reviewed-on: #52
2026-05-16 11:41:56 +02:00
Janis
4ad92ab236
fix: NCS-84 More Verbose Logging ( #51 )
...
Build & Test (NowChessSystems) TeamCity build failed
Reviewed-on: #51
2026-05-16 11:20:05 +02:00
Janis
3f12f695f1
feat: implement periodic scaling checks and enhance instance management in AutoScaler
Build & Test (NowChessSystems) TeamCity build failed
2026-05-13 22:08:22 +02:00
Janis
f7ce4df595
fix: update documentation to reflect new functions in CoordinatorGrpcServer and InstanceRegistry
Build & Test (NowChessSystems) TeamCity build finished
2026-05-13 21:07:44 +02:00
Janis
3ed3e59ee4
fix: remove unused HTTP root-path configurations from application.yml
Build & Test (NowChessSystems) TeamCity build finished
2026-05-13 16:23:04 +02:00
Janis
a49f9be146
feat: add CORS configuration and reorder JWT settings in application.yml
Build & Test (NowChessSystems) TeamCity build finished
2026-05-13 09:03:21 +02:00
Janis
72ce262bc4
feat: update application.yml with new API root paths and add Micrometer and OpenTelemetry dependencies
Build & Test (NowChessSystems) TeamCity build finished
2026-05-13 00:02:53 +02:00
Janis
a298417b9e
revert: Revert "feat: add authentication permissions for metrics endpoints in application.yml"
...
This reverts commit 04edd4d6fd .
2026-05-12 23:16:36 +02:00
Janis
3870566349
revert: Revert "refactor: update metrics paths formatting in application.yml for clarity"
...
This reverts commit 760859d066 .
2026-05-12 23:16:28 +02:00
Janis
760859d066
refactor: update metrics paths formatting in application.yml for clarity
Build & Test (NowChessSystems) TeamCity build finished
2026-05-12 22:14:07 +02:00
Janis
04edd4d6fd
feat: add authentication permissions for metrics endpoints in application.yml
Build & Test (NowChessSystems) TeamCity build failed
2026-05-12 22:07:50 +02:00
Janis
3904d5ad8a
feat: add OpenTelemetry trace configuration with parentbased sampler
Build & Test (NowChessSystems) TeamCity build finished
2026-05-12 19:00:08 +02:00
Janis
d438e97f32
feat: add initialization metrics for various services
2026-05-11 22:37:22 +02:00
Janis
9459203e0d
refactor: update timer record calls to use Runnable type
Build & Test (NowChessSystems) TeamCity build failed
2026-05-10 22:24:55 +02:00
Janis
d57c488661
feat: configure logging and add OpenTelemetry support ( #49 )
...
Build & Test (NowChessSystems) TeamCity build failed
Reviewed-on: #49
2026-05-10 20:31:48 +02:00
Janis
c96a09bb5c
feat: NCS-78 Add Traceability to the Applications ( #48 )
...
Build & Test (NowChessSystems) TeamCity build finished
Reviewed-on: #48
2026-05-10 13:54:31 +02:00
Janis
0eb752d493
fix(redis): enhance GameRedisSubscriberManager to use ReactiveRedisDataSource and improve subscription handling
Build & Test (NowChessSystems) TeamCity build finished
2026-05-06 08:41:30 +02:00
Janis
5baf6a7cdb
fix(redis): update Redis configuration with max pool size and waiting parameters
Build & Test (NowChessSystems) TeamCity build finished
2026-05-05 20:01:32 +02:00
Janis
dc224abe26
fix: Lints
Build & Test (NowChessSystems) TeamCity build finished
2026-05-05 08:44:25 +02:00
Janis
1813ea1d2d
fix(redis): simplify refreshRedisHeartbeat logic and ensure proper error handling
Build & Test (NowChessSystems) TeamCity build failed
2026-05-05 08:24:10 +02:00
Janis
6e0fd9523e
fix(auth): update InternalAuthFilter to use @ApplicationScoped and add index-dependency configuration
Build & Test (NowChessSystems) TeamCity build failed
2026-05-05 06:49:45 +02:00
Janis
847b13202c
fix(redis): prevent concurrent Redis heartbeat refreshes using AtomicBoolean
Build & Test (NowChessSystems) TeamCity build failed
2026-05-04 22:45:45 +02:00
Janis
c08d5303eb
fix(auth): change InternalAuthFilter to use @Singleton and add HTTP tests for secret validation
Build & Test (NowChessSystems) TeamCity build failed
2026-05-03 17:27:30 +02:00
Janis
33e5017f51
fix(redis): add max pool wait time and switch to ReactiveRedisDataSource for heartbeat updates
Build & Test (NowChessSystems) TeamCity build failed
2026-05-03 16:47:54 +02:00
Janis
0c981517da
fix(heartbeat): inject ObjectMapper into InstanceHeartbeatService ( #42 )
...
Build & Test (NowChessSystems) TeamCity build finished
Reviewed-on: #42
Co-authored-by: Janis <janis.e.20@gmx.de >
Co-committed-by: Janis <janis.e.20@gmx.de >
2026-05-02 18:15:29 +02:00
Janis
804a4bf179
feat(logging): add DEBUG/INFO/WARN logging across services (NCS-72) ( #41 )
...
Build & Test (NowChessSystems) TeamCity build finished
Reviewed-on: #41
Co-authored-by: Janis <janis.e.20@gmx.de >
Co-committed-by: Janis <janis.e.20@gmx.de >
2026-05-02 17:33:27 +02:00
Janis
2404e6164c
feat(config): update application.yml for PostgreSQL and remove staging/production configurations
2026-04-30 16:14:10 +02:00
Janis
6113432a14
feat(config): update application.yml for staging and production environments
Build & Test (NowChessSystems) TeamCity build finished
2026-04-30 10:55:20 +02:00
Janis
590924254e
feat: true-microservices ( #40 )
...
Reviewed-on: #40
2026-04-29 22:06:01 +02: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
Janis
a386f57c21
fix: IO microservice ( #38 )
...
Reviewed-on: #38
2026-04-22 08:36:54 +02: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
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
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
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
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
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
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
lq64
217f14f899
refactor: NCS-19 Currying ( #18 )
...
Build & Test (NowChessSystems) TeamCity build finished
Summary
- Curried candidateMoves, legalMoves, and applyMove in the RuleSet trait to separate (context) as the world being
operated on from the computation parameter
- Updated DefaultRules overrides and all internal call sites
- Updated all external call sites: GameEngine, PgnParser, PgnExporter, ChessBoardView, and all affected tests
Test plan
- All existing tests pass (./gradlew build)
- No behaviour changes — pure style refactoring, existing test suite is the regression guard
Co-authored-by: LQ63 <lkhermann@web.de >
Reviewed-on: #18
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-06 21:03:17 +02:00
Janis
8f56a82104
refactor: NCS-22 NCS-23 reworked modules and tests ( #17 )
...
Build & Test (NowChessSystems) TeamCity build finished
Reviewed-on: #17
2026-04-06 09:07:39 +02:00
Janis
3ff80318b4
feat: NCS-17 Implement basic ScalaFX UI ( #14 )
...
Build & Test (NowChessSystems) TeamCity build finished
Co-authored-by: shahdlala66 <shahd.lala66@gmail.com >
Reviewed-on: #14
Co-authored-by: Janis <janis.e.20@gmx.de >
Co-committed-by: Janis <janis.e.20@gmx.de >
2026-04-01 22:48:30 +02:00
lq64
412ed986a9
feat: NCS-11 50-move rule ( #9 )
...
Build & Test (NowChessSystems) TeamCity build finished
Summary
- Implements the FIDE 50-move draw rule: a player may claim a draw if no pawn move or capture has occurred in the last
50 full moves (100 half-moves)
- Draw is not automatic — the eligible player must claim it via a TUI menu shown at the start of their turn
- halfMoveClock: Int is threaded through processMove and gameLoop; resets on pawn move, capture, or en passant;
increments on all other moves
Changes
- GameController.scala: extended MoveResult.Moved and MoveResult.MovedInCheck with newHalfMoveClock: Int; added
MoveResult.DrawClaimed; added halfMoveClock parameter to processMove and gameLoop; TUI menu shown when clock ≥ 100
- Main.scala: initial gameLoop call passes halfMoveClock = 0
- GameControllerTest.scala: updated all existing pattern matches; added 10 new tests covering clock reset, clock
increment, draw claim, and TUI menu behaviour
Test plan
- processMove: 'draw' with halfMoveClock = 100 → DrawClaimed
- processMove: 'draw' with halfMoveClock = 99 → InvalidFormat
- Pawn move / capture / en passant → clock resets to 0
- Quiet piece move → clock increments by 1
- MovedInCheck carries updated clock
- TUI menu appears when clock ≥ 100; option 1 claims draw, option 2 continues
- No TUI menu when clock < 100
- All 197 tests passing
Co-authored-by: LQ63 <lkhermann@web.de >
Reviewed-on: #9
Co-authored-by: Leon Hermann <lq@blackhole.local >
Co-committed-by: Leon Hermann <lq@blackhole.local >
2026-04-01 10:36:24 +02:00
Janis
e5e20c566e
fix: update move validation to check for king safety ( #13 )
...
Build & Test (NowChessSystems) TeamCity build finished
Reviewed-on: #13
2026-04-01 09:07:06 +02:00
Janis
13bfc16cfe
feat: NCS-10 Implement Pawn Promotion ( #12 )
...
Build & Test (NowChessSystems) TeamCity build finished
Reviewed-on: #12
Reviewed-by: Leon Hermann <lq@blackhole.local >
Co-authored-by: Janis <janis-e@gmx.de >
Co-committed-by: Janis <janis-e@gmx.de >
2026-03-31 22:18:14 +02:00
shosho996
1361dfc895
feat: NCS-16 Core Separation via Patterns ( #10 )
...
Build & Test (NowChessSystems) TeamCity build finished
Co-authored-by: Janis <janis-e@gmx.de >
Co-authored-by: shahdlala66 <shahd.lala66@gmail.com >
Co-authored-by: Janis <janis.e.20@gmx.de >
Reviewed-on: #10
Reviewed-by: Janis <janis-e@gmx.de >
Co-authored-by: Shahd Lala <shosho996@blackhole.local >
Co-committed-by: Shahd Lala <shosho996@blackhole.local >
2026-03-31 10:31:02 +02:00