utwordSystem v3.25.7
Decisions

Coming back with a code

In a new home-screen app, "I have a code" goes straight to the code without the tutorial, Paste is a button under the code tiles that finds the code in whatever was copied, and a sheet's last line clears the home indicator and the keyboard.

D-018 · 3.25.4 · 2026-10-16

Context

Ru, adding the game to a home screen: "I don't want the instructions to come up if you have selected already played; go straight to inputting the code. Also the paste feature doesn't work." Then: "the I have an older, longer code is cut off on my phone."

On 3.25.3 the tutorial opened 650ms after any load on a phone that hadn't seen it. A fresh home-screen app is such a phone, so the tutorial opened with Played before?, stayed open behind Bring back your account, and opened again after the restore's reload. The code field was an input at opacity: 0 over the tiles, with "Paste works too." under them; iPhone doesn't offer Paste on an invisible field, and the saved note pasted whole switched to the long-code field. The code sheet has no foot, so its last line, "I have an older, longer code", ended 4px from the bottom of the screen.

Options

OptionWhat it isResult
Close the tutorial when I have a code is tappedLeave the timer as it was; close the sheet on the answerIt would still open after the restore's reload, as for a new player. Not chosen
The tutorial waits for the answerPlayed before? holds it; I have a code, a ?code= link or a restore marks it seen; I'm new opens itChosen
Keep "Paste works too." and make the field visible to iPhoneA see-through input in place of opacity: 0Kept, but pressing and holding an empty row of tiles is hard to find. Not enough on its own
A Paste button, and a code found in any textPaste under the tiles reads the clipboard; any paste takes the code out of what was copiedChosen, with the see-through field
A foot for the code sheetMove Find my account into a footChanges the sheet's layout for one fix; other sheets with no foot would still sit under the home indicator. Not chosen
The body clears the inset when there's no foot.modal-body:last-child adds env(safe-area-inset-bottom); a keyboard lifts the sheetChosen

Decision

On a fresh home-screen install, the tutorial waits until Played before? is answered. I have a code, a ?code= link and a restore each mark the tutorial seen, so it doesn't open then or after the reload; I'm new, let's play opens it as before.

The code panel holds the tiles and, under them, Paste: the outlined icon button (44px, radius 12) with a clipboard icon. It reads the clipboard (iPhone asks first) and takes the first six code letters it finds, written ACD-347, acd 347, or inside the whole saved note or its link. A paste into the tiles does the same. If the clipboard can't be read, the tiles take focus and the sheet says "Press and hold the tiles, then tap Paste." The input over the tiles is see-through (color: transparent), never opacity: 0, and is 50px to tap. Under 360px the tiles are 38px.

A sheet with no foot adds the home-indicator inset under its body, as the foot does. While a keyboard is up, the app reads its height from the visual viewport into --kb; the sheet sits on top of it and drops the inset.

Evidence

Measured in Chromium as a home-screen app with the database stubbed, at 390×844, 390×664 and 320×568:

3.25.3, fresh home-screen app"Played before?" and "How Outword works" open together; after I have a code, the code sheet and the tutorial
3.25.4, the samePlayed before? alone; after I have a code, the code sheet alone; after the restore and a reopen, no tutorial and the restored player kept; after I'm new, the tutorial
Pastethe whole saved note gives ACD347; "acd 347" pasted into the tiles gives ACD347, without the long-code field
Paste, clipboard refused"Press and hold the tiles, then tap Paste."
A 336px keyboardthe sheet's bottom on the keyboard's top at every size; at 320×568 the body scrolls inside the sheet
The tiles at 320296px in a 286px panel before; 272px after
The release check's auditno number worse than 3.25.3

Consequences

  • A returning player goes from Played before? to their code with nothing in between, and the tutorial stays for new players.
  • Paste works whatever the phone does with the invisible field, and a player can paste their note without picking the code out of it.
  • Every sheet without a foot ends above the home indicator in the home-screen app; nothing changes where there's no inset.
  • Under a keyboard taller than the room left, a sheet scrolls inside itself instead of hiding behind the keyboard.
  • What happens on a real iPhone (the clipboard prompt, the keyboard's height) wasn't measured; Chromium stands in for both.