Skip to content

[iOS] Reduced motion + Prefer Cross-Fade Transition: onKeyboardMoveEnd has incorrect values when keyboard opens (height: 0, progress: 0) #1242

@matthieugicquel

Description

@matthieugicquel

Describe the bug

On iOS, with reduced motion and prefer cross-fade transition enabled, onKeyboardMoveEnd is systematically called with incorrect values after the keyboard opens:

{
    "height": 0, // expecting ~318
    "progress": 0, // expecting 1
    "duration": 383,
    "target": 946,
    "eventName": "onKeyboardMoveEnd"
}

Code snippet

  useKeyboardHandler({
    onEnd: (event) => {
      "worklet";

      console.log("onEnd", event)
    },
  });

Repo for reproducing

I'm having issues building the FabricExample app right now, but I'm still opening the issue in the meantime as I'm relatively confident it will be reproducible in it :)

To Reproduce

  1. Toggle the settings in accessibility → animation
  2. Open the keyboard
  3. Look at the logs

Expected behavior
Height and progress values coherent with cases where those settings are not enabled.

Smartphone

  • Device: iPhone 16 Pro / iPhone 16 Pro Max
  • OS: iOS 26.0 / iOS 26.1
  • RN version: 0.81.5
  • RN architecture: fabric
  • JS engine: hermes
  • Library version: tested on main in FabricExample

Metadata

Metadata

Assignees

Labels

repro providedIssue contains reproduction repository/code🐛 bugSomething isn't working iOS 26Anything specific to iOS 26

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions