{
  "id": 6936150,
  "title": "A legal FEN is not a game: state identity in a browser chess extension",
  "url": "https://urgent.news/2026/09/12/a-legal-fen-is-not-a-game-state-identity-in-a-browser-chess-extension",
  "topic": "tech",
  "section": "Tech",
  "published": "2026-09-12T14:02:50.000Z",
  "source": {
    "name": "Dev.to",
    "slug": "dev-to",
    "url": "https://dev.to/dmitriy_sevryukov_cn/a-legal-fen-is-not-a-game-state-identity-in-a-browser-chess-extension-140d"
  },
  "original_language": "en",
  "account": "A chess extension for browsers that uses the same FEN string can display different games. The state of the game is determined by more than just the FEN string, including factors like the Chrome controls, Resign, hint, undo, and the live move list. World Chess a browser chess extension that can host more than one legal FEN, ensuring that there is only one primary game board visible at any given time. Each site has a checklist to verify that a game can be hosted on the page, including conditions like the presence of a visible board, a game ID, and the start of the game. The DOM may not settle in a single mutation, causing updates to the board node and controls to occur in different frames. The result that gets displayed must match the board being looked at, including factors like the FEN, board epoch, config revision, and job ID. The engine, Stockfish 18, runs on the device, computing live position, engine lines, and captions locally. The wording of captions next to moves is built from the position, recommended move, continuation, and detected motifs, ensuring that the information is accurate and helpful.",
  "summary": "Same FEN, different game If you key a chess overlay on FEN alone, two different games can look identical. Rematches are where this shows up. The starting position is the same string, the player knows it's a new game, and an old arrow can come back if you never stored anything else. Lichess does issue a new game id. In the recorder that's an explicit rematch boundary: a new siteGameId / session…",
  "key_points": [
    "A FEN string alone doesn't define a unique chess game in a browser extension",
    "Multiple legal FENs can coexist, each with its own game state",
    "Factors like controls, hints, and live move list determine the game's identity"
  ],
  "editors_take": null,
  "illustration": null,
  "coverage": {
    "outlets": 1,
    "also_reported_by": []
  },
  "ai_generated": true,
  "disclaimer": "Summaries, key points and the editor’s take are written by software from other outlets’ reporting and may contain errors — always check the linked original."
}