Older posts
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.