-
Notifications
You must be signed in to change notification settings - Fork 2.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fix: use KeyboardAvoidingView
from keyboard controller
#46513
fix: use KeyboardAvoidingView
from keyboard controller
#46513
Conversation
@ishpaul777 Please copy/paste the Reviewer Checklist from here into a new comment on this PR and complete it. If you have the K2 extension, you can simply click: [this button] |
Thanks for the PR @kirillzyusko, just a quick question i see a lot of great work happening in #42143, will there be any side effect if we get this PR merged before #42143 🤔 |
@ishpaul777 no, I don't think so. It will produce a merge conflict, but it'll be easy to resolve 👍 |
Ah, yeah, it should work as expected 👍 |
Reviewer Checklist
Screenshots/VideosAndroid: NativeIos specific changes Android: mWeb ChromeIos specific changes iOS: NativeRPReplay_Final1722448837.MP4iOS: mWeb SafariIos specific changes MacOS: Chrome / SafariIos specific changes MacOS: DesktopIos specific changes |
BUG: Content is not popped up when keyboard shows on transaction details page RPReplay_Final1722425156.MP4 |
Thanks @ishpaul777 ! I'm checking what causes this problem! |
@ishpaul777 I fixed it - would you mind checking again? 👀 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good and works as intended!
LGTM, thank you guys! |
✋ This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release. |
🚀 Deployed to staging by https://github.com/marcochavezf in version: 9.0.16-0 🚀
|
reverted in #46749, sorry :/ |
🚀 Deployed to production by https://github.com/marcaaron in version: 9.0.16-8 🚀
|
Details
All possible solutions I listed in:
#44514 (comment)
The first approach (patching
react-native
) seems not very reliable since we modify core component.The second approach (setting
enabled
totrue
before a navigation) is not implementable, because we need to update state, but updating a state will be always executed later than "closed keyboard" event arrives. Another approach is to keepenabled=true
for prev screen, but in this case transition also doesn't look good:Screen.Recording.2024-07-30.at.18.09.33.mov
The last approach seems to be the most reliable - it is the usage
KeyboardAvoidingView
fromreact-native-keyboard-controller
:kav-demo-exensify.mov
Last but not least - we already wanted to use
KeyboardAvoidingView
fromreact-native-keyboard-controller
in #42143Fixed Issues
$ #44514
PROPOSAL: #44514 (comment)
Tests
Offline tests
N/A
QA Steps
PR Author Checklist
### Fixed Issues
section aboveTests
sectionOffline steps
sectionQA steps
sectiontoggleReport
and notonIconClick
)myBool && <MyComponent />
.src/languages/*
files and using the translation methodSTYLE.md
) were followedAvatar
, I verified the components usingAvatar
are working as expected)StyleUtils.getBackgroundAndBorderStyle(theme.componentBG)
)Avatar
is modified, I verified thatAvatar
is working as expected in all cases)Design
label and/or tagged@Expensify/design
so the design team can review the changes.ScrollView
component to make it scrollable when more elements are added to the page.main
branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to theTest
steps.Screenshots/Videos
Android: Native
Only native iOS affected.
Android: mWeb Chrome
Only native iOS affected.
iOS: Native
iOS: mWeb Safari
Only native iOS affected.
MacOS: Chrome / Safari
Only native iOS affected.
MacOS: Desktop
Only native iOS affected.