Files
NowChessSystems/modules
Janis Eccarius 3eb2736cf0
Build & Test (NowChessSystems) TeamCity build finished
fix(pgn): add SAN disambiguation and check/checkmate suffixes [NCS-42]
Two bugs in move notation causing PGN import failures in LiChess:

1. Disambiguation: when two pieces of same type can reach same square,
   SAN requires file/rank/full-square prefix (e.g. "Ndf3" not "Nf3").
   Added disambiguate() in PgnExporter and disambiguatePiece() in
   GameEngine, both querying allLegalMoves to find competing pieces.

2. Check/checkmate suffix: "+" and "#" were never appended.
   PgnExporter now threads ctxAfter through moveToAlgebraic and
   calls DefaultRules.isCheck/isCheckmate. GameEngine passes
   PostMoveStatus to translateMoveToNotation for the same result.

Also removes dead notation code in executeMoveBody (result was never
used — not passed to MoveExecutedEvent).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-01 22:29:56 +02:00
..
2026-05-21 09:33:30 +00:00
2026-05-31 15:31:55 +00:00
2026-05-02 15:53:05 +00:00
2026-05-12 22:21:53 +00:00
2026-05-06 07:06:52 +00:00
2026-05-31 15:31:55 +00:00
2026-05-13 14:49:00 +00:00