Thrown before any key event goes out, when iOS's strong-password suggestion
sheet is on screen. The field keeps only the last keystroke while it is up,
so typing through it leaves one character behind and loses the rest.
Measured against the pinned companion on iOS 26, 2026-08-30, with the
LoginPasswordField fixture — a secureTextEntry field whose
textContentType is newPassword:
Focusing the field raises the sheet. It is already up before any key event
is sent, rather than being raised by one.
With the sheet up the field holds exactly one character however many are
sent, and it is the most recently typed one — reproduced by hand on the
Simulator's own keyboard, which is what rules out anything about how the
companion delivers key events. A second typeText seconds later leaves it
at one, so this is a state rather than a race a caller could wait out.
Dismissing the sheet, or moving focus to another field, restores normal
typing.
hid is the only input path the companion offers, so there is no way to
deliver the keystrokes past the sheet — which is why this refuses rather than
retries. button is the sheet's own accept button, carried so a caller can
operate the sheet without reading the screen again.
Thrown before any key event goes out, when iOS's strong-password suggestion sheet is on screen. The field keeps only the last keystroke while it is up, so typing through it leaves one character behind and loses the rest.
Measured against the pinned companion on iOS 26, 2026-08-30, with the
LoginPasswordFieldfixture — asecureTextEntryfield whosetextContentTypeisnewPassword:typeTextseconds later leaves it at one, so this is a state rather than a race a caller could wait out.hidis the only input path the companion offers, so there is no way to deliver the keystrokes past the sheet — which is why this refuses rather than retries.buttonis the sheet's own accept button, carried so a caller can operate the sheet without reading the screen again.