{
  "id": 5470958,
  "title": "The board came back. The highlights lied.",
  "url": "https://urgent.news/2026/09/04/the-board-came-back-the-highlights-lied",
  "topic": "tech",
  "section": "Tech",
  "published": "2026-09-04T02:26:58.000Z",
  "source": {
    "name": "Dev.to",
    "slug": "dev-to",
    "url": "https://dev.to/michaeltruong/the-board-came-back-the-highlights-lied-18bo"
  },
  "original_language": "en",
  "account": "The web game Codenames AI retains game data such as the board, turn, clue history, and in-progress results upon reload. However, when switching game modes, previously highlighted cards persisted in memory and remained lit even if the user had not clicked them. This caused confusion as the UI falsely suggested the user had intended those cards. Clearing highlights when the board changed would stop this misinformation. To resolve the issue, per-mode persistence of clicks was needed, treating a thinking aid similarly to a move. This change raised the question of whether reloading should restore those clicks at all. Google Docs' autosave default of preserving a document when reloaded influenced this decision. While highlighting a card or typing a clue should persist, AI-generated clues and targets should not. The snapshot type needed to reflect what the product accepts as true truth, not what was merely displayed. The restoration process should clear drafting poses and restore the saved game, ensuring no leftover thinking aids persist into the next turn. Testing the behavior of coming back to a saved game was crucial, rather than just verifying the save loaded correctly. The persistence boundary lies in semantics, not architecture.",
  "summary": "I ship Codenames AI , a web game. Each game mode keeps its own save in localStorage . Reload the tab, switch to a different mode, come back later: the board, turn, clue history, and in-progress results all come back. That felt like a win until I added spymaster clue targeting. While drafting a clue, I can click cards on my team. Those clicks sync the clue count and show which words I had in mind.…",
  "key_points": [
    "Codenames AI retains game data upon reload.",
    "Per-mode persistence of clicks resolves highlighting confusion.",
    "AI-generated clues shouldn't persist across reloads."
  ],
  "editors_take": "The fix for Codenames AI's highlight persistence issue introduces a nuanced data persistence model that distinguishes between user input and AI-generated content.",
  "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."
}