Enable keyboard avoiding view in search modal#57458
Conversation
|
@DylanDylann 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] |
|
@DylanDylann Sorry for the ping. I'll review this PR. Thank you |
Reviewer Checklist
Screenshots/VideosAndroid: NativeScreen.Recording.2025-02-26.at.9.07.53.PM.movAndroid: mWeb ChromeScreen.Recording.2025-02-26.at.8.10.54.PM.moviOS: NativeScreen.Recording.2025-02-26.at.9.10.55.PM.moviOS: mWeb SafariScreen.Recording.2025-03-03.at.9.53.32.AM.mov |
|
@bernhardoj I found that there're two scrollable views on mobile Safari and the inner one is introduced by this PR. Is this expected? Please check below clips to compare with staging
Important Though scrolling on staging also looks weird - the header isn't fixed. It's out of scope and should be handled separately |
|
@eh2077 fixed. |
| )} | ||
| <KeyboardAvoidingView | ||
| behavior="padding" | ||
| style={[styles.flex1, {maxHeight: windowHeight}]} |
There was a problem hiding this comment.
Should we only add maxHeight: windowHeight for mobile Safari?
| ListItem={SearchRouterItem} | ||
| containerStyle={[styles.mh100]} | ||
| sectionListStyle={[styles.ph2, styles.pb2]} | ||
| sectionListStyle={[styles.ph2, styles.pb2, styles.overscrollBehaviorContain]} |
There was a problem hiding this comment.
Should we apply overscrollBehaviorContain only for mobile WebKit? I found a use case here.
App/src/components/ScreenWrapper.tsx
Line 284 in cd92ca9
There was a problem hiding this comment.
I retested other platforms with different use cases, with few contacts (7-9) or long contact list. I didn't find any inconsistencies, so these comments won't be a blocker. They're just for discussing
There was a problem hiding this comment.
I didn't find any issues on other platforms too, so I think we can just leave it, same as maxHeight above.
They probably add it for iOS mWeb only since it's the only platform where the viewport scroll issue happens, but since it doesn't cause any inconsistency on other platforms, I think it's fine to apply it to all. It's actually more consistent if we apply the overscroll style to all platforms instead of only 1 platform.
|
✋ 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/Gonals in version: 9.1.8-0 🚀
|
|
🚀 Deployed to production by https://github.com/puneetlath in version: 9.1.8-1 🚀
|


Explanation of Change
Fixed Issues
$ #56342
PROPOSAL: #56342 (comment)
Tests
Same as QA Steps
Offline tests
Same as QA Steps
QA Steps
Prerequisite: Have between 7 and 9 chats available in the account.
No keyboard on Web/Desktop
PR Author Checklist
### Fixed Issuessection aboveTestssectionOffline stepssectionQA stepssectiontoggleReportand notonIconClick)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
android.mp4
Android: mWeb Chrome
android.mweb.mp4
iOS: Native
ios.mp4
iOS: mWeb Safari
ios.mweb.mp4
MacOS: Chrome / Safari
MacOS: Desktop