fix: wrong onEnd event on Samsung devices when keyboard gets shown after interactive dismissal#1240
Merged
kirillzyusko merged 1 commit intomainfrom Dec 12, 2025
Conversation
…after interactive dismissal
onEnd event on Samsung devices when keyboard gets shown …onEnd event on Samsung devices when keyboard gets shown after interactive dismissal
Contributor
📊 Package size report
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
📜 Description
Fixed wrong event for "end" keyboard movement after interactive dismissal (when keyboard gets shown after interaction).
💡 Motivation and Context
Originally reported by @pioner92 months ago and later raised as an issue by @iankberry
It's a known issue that in
onEndwe may get out-of-dated keyboard frame metrics. The fix that I used earlier was postponing the event a little bit if it was interactive dismissal. It fixed the issue for my pixel device in #814However if we test Samsung device we can clearly see that the bug is reproducible again. In this PR I'm continue to use the idea introduced in #814 and just use larger delay. It fixes the problem, but I'll conduct an exploration for a better/more synchronous code. I started this investigation in #1017 and I plan to return to this PR soon 👀 (but for now we'll merge a workaround)
Closes #1238
📢 Changelog
JS
onEndhandler in "Interactive Keyboard" exampleAndroid
UIThreadconstants;.postDelayed()instead of.post()with one frame delay;🤔 How Has This Been Tested?
Tested manually on Samsung S25+, Android 15 (Remote test lab) in example app.
📸 Screenshots (if appropriate):
Screen.Recording.2025-12-12.at.11.31.24.mov
Screen.Recording.2025-12-12.at.11.26.58.mov
📝 Checklist