Skip to content

fix: avoid unsafe iOS keyboard dismissal - #957

Merged
thymikee merged 1 commit into
mainfrom
fix/ios-keyboard-dismiss-safe-controls
Jun 30, 2026
Merged

thymikee merged 1 commit into
mainfrom
fix/ios-keyboard-dismiss-safe-controls

Conversation

@thymikee

@thymikee thymikee commented Jun 30, 2026 •

Copy link
Copy Markdown
Member

Summary

Closes #952.

  • Removes the iOS keyboard dismissal swipe/coordinate fallbacks that could type into focused fields on iOS 26.
  • Keeps dismissal limited to safe native controls and updates the unsupported-operation copy/docs/help to match.

The dismiss-control search intentionally checks matching buttons beyond app.toolbars.buttons because iOS 26 may expose keyboard-accessory Done controls outside a UIToolbar. It remains bounded by exact safe labels and keyboard-accessory geometry, so it can tap a nearby dismiss control without falling back to input-mutating gestures or raw coordinates.

Touched files: 8. Scope stayed within iOS runner keyboard behavior plus related help/docs/tests.

Validation

  • Verified in Safari on iPhone 17 Pro simulator: keyboard dismiss no longer appended TV to abc; it failed closed when no safe control was available.
  • Verified in examples/test-app Checkout form on iPhone 17 Pro simulator: field stayed Final952 after keyboard dismiss returned UNSUPPORTED_OPERATION.
  • Verified tvOS simulator path still reports keyboard unsupported.
  • pnpm build
  • pnpm build:xcuitest
  • pnpm build:xcuitest:tvos
  • pnpm exec vitest run src/utils/tests/args.test.ts src/commands/system/index.test.ts src/core/tests/dispatch-keyboard.test.ts src/core/tests/capabilities.test.ts
  • pnpm exec vitest run src/platforms/ios/tests/runner-client.test.ts
  • pnpm format
  • pnpm check:quick

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

Labels

ready-for-human Valid work that needs human implementation, judgment, or maintainer merge

Projects

None yet

Development

Successfully merging this pull request may close these issues.

keyboard dismiss types " TV" into the focused field instead of dismissing the keyboard (iOS 26 simulator)

1 participant