Older posts

  1. The game never volunteers that

    The Norwegian AI opponent played a profanity as its move. The fix keeps every word valid for players and just stops the game from choosing one on its own.

  2. The same trap, a third time

    A word input overflowing the screen at 320px turned out to be two unrelated bugs, and fixing the second one surfaced a third case of a CSS trap this codebase keeps hitting.

  3. One tooltip, anywhere on the page

    Detail tooltips reach the fruit on the board itself, and the "only one open at a time" rule stops being a property of the game log and becomes a property of the page.

  4. The log that remembers both players

    The shared game log learns to show two players at once, PvP gets a live panel of its own, and a scoring bug that only hurt guests surfaces along the way.

  5. One recap, two modes

    A blocking modal in PvE and an inline overlay in PvP get replaced by one shared recap component, ported wholesale from the Daily Challenge pattern.

  6. One word at a time

    Two long words typed at once could break the whole duel layout. The fix drops the side-by-side grid for a single panel that follows whoever is acting.

  7. Fifty-six turns of twenty

    A Daily Challenge that can never exceed twenty words showed a game log toggle claiming fifty-six turns. Fruit events were counting as turns.

  8. The crash that used to win

    A player ahead on score could just ram the wall and win. PvP duels get lives, hearts, and a reason not to crash on purpose.

  9. A menu worth a second look

    Four throwaway prototypes, reviewed live behind a query-string switch, turn three identical mode buttons into a hero card and a duo below it.

  10. The score that almost got away

    A tab switch could strand a finished Daily Challenge with no way to submit it. The fix merges two screens into one and stops trusting the client for the score.