mirror of
https://github.com/tiennm99/noitu.git
synced 2026-10-06 14:14:44 +00:00
A turn belonged to one player, but the screen and the room both let somebody else act inside it. The word field took text out of turn — never disabled, so the on-screen keyboard survives the handover — so a player could spend an opponent's turn typing a word the submit button was never going to send. It now refuses the text instead: beforeinput is cancelled, and the composed character an input method lands past it is taken straight back out. Giving up was open to any seat at any time. It is a move, played instead of a word, so only the player to act may spend one; the board offers the button on their turn and no other, and the room answers not_your_turn. Somebody who wants out of a game they are not on turn in leaves the room, which is now allowed mid-game: the seat is freed and the others are told somebody left, exactly as a reconnect window running out reports it. Going back to the homepage does that, taking the stored session with it, so the player arrives back a stranger who can join again rather than being resumed into the room they walked out of — and a ready player's readiness is taken back first, or the seat would sit in the lobby ready and empty until its window ran out. Two things one player's exit used to cost the player still thinking: the turn sequence moved even when the turn had not, refusing the word already in flight, and a wordless turn update wiped the rejection they were reading. The sequence now moves only when the turn does, and only an accepted move answers a rejection.