@@ -98,6 +98,19 @@ class ChessSession:
self.board.reset()
moves = moves.strip()
+ if "/" in moves:
+ try:
+ self.board.set_fen(moves)
+ except ValueError:
+ raise IllegalMove
+
+ if not self.board.is_valid():
+ self.check_game_over()
+ return
if moves.startswith("1."):
text = moves
moves = []