fix: use KeyboardAvoidingView from keyboard controller#46513
fix: use KeyboardAvoidingView from keyboard controller#46513marcochavezf merged 3 commits intoExpensify:mainfrom
KeyboardAvoidingView from keyboard controller#46513Conversation
|
@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? 👀 |
ishpaul777
left a comment
There was a problem hiding this comment.
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
enabledtotruebefore 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=truefor 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
KeyboardAvoidingViewfromreact-native-keyboard-controller:kav-demo-exensify.mov
Last but not least - we already wanted to use
KeyboardAvoidingViewfromreact-native-keyboard-controllerin #42143Fixed Issues
$ #44514
PROPOSAL: #44514 (comment)
Tests
Offline tests
N/A
QA Steps
PR Author Checklist
### Fixed Issuessection aboveTestssectionOffline stepssectionQA stepssectiontoggleReportand notonIconClick)myBool && <MyComponent />.src/languages/*files and using the translation methodSTYLE.md) were followedAvatar, I verified the components usingAvatarare working as expected)StyleUtils.getBackgroundAndBorderStyle(theme.componentBG))Avataris modified, I verified thatAvataris working as expected in all cases)Designlabel and/or tagged@Expensify/designso the design team can review the changes.ScrollViewcomponent to make it scrollable when more elements are added to the page.mainbranch was merged into this PR after a review, I tested again and verified the outcome was still expected according to theTeststeps.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.