Skip to content

iOS sim: keyboard and hardware buttons still silently no-op on macOS 26.6 + Xcode 27 release (taps recovered) — 0.25.1 #1176

Description

@estevg

Summary

On macOS 26.6.2 + Xcode 27.0 release with Argent 0.25.1, gesture-tap works, but the keyboard tool and hardware button presses still silently no-op: both return success and nothing reaches the simulator.

This is the same failure shape as #932 / #547, but a different slice of it. In #932 taps were dead too; here taps recover and only the key-event channels stay dead — so whatever fixed tap injection did not cover the keyboard/button path. The environment is also different from every report I found: #932 is macOS 27, this is macOS 26.6.2 with the Xcode 27 release, so the regression is not gated on macOS 27.

Environment

macOS       26.6.2 (25G83), Darwin 25.6.0
Xcode       27.0 (27A266a) — release, not beta; DeviceHub.app, no Simulator.app
Argent      0.25.1 (global npm install)
Simulator   iPhone 17 Pro, iOS 26.4, default device set
App         Expo dev client (React Native 0.86.3, Expo SDK 57), Metro connected

What works vs what doesn't

Channel Result
gesture-tap Works — taps land, on-screen keyboard keys included
keyboard { text } No-op — returns { typed: "qa1", keys: 3 }, field keeps its placeholder
keyboard { key: "enter" } No-op — returns { typed: "enter", keys: 1 }, keyboard stays open
button { button: "home" } No-op — returns { pressed: "home" }, app stays foregrounded
paste No-op — returns { pasted: true }, nothing is inserted
describe / screenshot / await-ui-element Work
Metro CDP (debugger-evaluate, component tree) Work

Steps to reproduce

  1. Boot an iOS 26.4 simulator with boot-device, launch any app with a text field.
  2. gesture-tap the field — the software keyboard appears, so focus is real.
  3. keyboard { text: "abc" } — returns success.
  4. describe — the field still shows its placeholder; no characters were inserted.

Not the app under test

Reproduced identically in Settings.app (com.apple.Preferences): tapping the search field opens the keyboard and switches the screen to "Suggestions" (so the tap landed), then keyboard { text: "wifi" } leaves the field empty. A first-party app rules out the RN app and its SDK version.

Ruled out

  • stop-all-simulator-servers (scoped) + simctl shutdown + fresh boot-device — no change.
  • Bringing DeviceHub.app to the front before typing — no change.
  • Re-tapping the field with the keyboard already open — focus is confirmed by the native "Paste / AutoFill" context menu appearing, and typing still does nothing.
  • App reinstall and a full native rebuild.

Confirmation that focus and the pasteboard are fine

Tapping a focused empty field shows the system Paste menu, so the field is focused and empty. Interesting detail: the simulator's pasteboard is synced with the host's, so pbcopy on the Mac followed by tapping Paste does insert the text. That is the workaround I am using to drive a login flow — text entry through taps only:

printf '%s' "user@example.com" | pbcopy   # host clipboard, syncs into the sim
# then: gesture-tap the field, gesture-tap "Paste" in the context menu

Worth noting because it means the paste tool failing is not a pasteboard problem — the pasteboard works; what fails is the key/paste event injection.

Impact

Any flow that types is unrecordable and unreplayable: login screens, search fields, forms. argent-qa-flows cannot produce a passing flow for those paths, since the type: directive rests on the same channel.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions