ionic-team / ionic-team/capacitor-keyboard

[iOS 26] keyboardDidHide fires before keyboardWillHide

Open
#32 2 comments 3 reactions 0 assignees View on GitHub
Dominant language
TypeScript
Stars
3
Forks
21
PR merge metrics
No merged PRs in 30d

Description

## Bug Report

### Plugin(s)

@capacitor/keyboard

### Capacitor Version

```
💊 Capacitor Doctor 💊

Latest Dependencies:

@capacitor/cli: 7.4.4
@capacitor/core: 7.4.4
@capacitor/android: 7.4.4
@capacitor/ios: 7.4.4

Installed Dependencies:

@capacitor/android: not installed
@capacitor/cli: 7.4.4
@capacitor/core: 7.4.4
@capacitor/ios: 7.4.4
```

### Platform(s)

iOS 26

### Current Behavior

On iOS 26, when the keyboard hides instantly (e.g., user taps outside an input), `keyboardDidHide` is fired before `keyboardWillHide`.
This differs from expected UIKit behavior and from iOS 18, where`keyboardWillHide` always precedes `keyboardDidHide`.

### Expected Behavior

The plugin should always emit events in the logical order: `keyboardDidHide` after `keyboardWillHide`.

### Code Reproduction

Minimal reproduction available [here](https://github.com/darondel-yoobic/capacitor-keyboard-issue).
Steps:
1. Launch the app on iOS (simulator or device).
2. Tap the input → keyboard appears.
3. Tap outside the input → keyboard hides instantly.
4. Observe the on-screen logs.

On iOS 18, the keyboard hides with an animation, and the event order is correct.
On iOS 26, the hide is instant, and the order is reversed.

### Other Technical Details

/

### Additional Context

/

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.