-
Notifications
You must be signed in to change notification settings - Fork 3k
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 the viewport is scrolled to bottom when the search modal shows while a keyboard is visible #55704
Fix the viewport is scrolled to bottom when the search modal shows while a keyboard is visible #55704
Conversation
…eyboard is visible
@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] |
@bernhardoj I can see the search page is flickering clearly. If you can't reproduce it, you can make the search list longer and try again Screen.Recording.2025-01-28.at.01.25.38.mov |
@bernhardoj Is there any problem with your first solution (using useViewportOffsetTop)? I see It worked well without flicker |
@DylanDylann it's the same problem with the report screen. When you close the keyboard, the header will move as shown in the first video on my proposal. |
Could you improve that behavior? |
Or please help to solve this problem |
@bernhardoj Any update? |
Honestly, I can't think of a way to improve it. I tried using both solutions (pad it with offset top and scroll the viewport to the top) but it looks worse. h.mp4Maybe it's safer to go with the padding solution since the report screen also behaves that way? |
@bernhardoj Yeah, I just checked again and I think it is acceptable. Could you update to use your first solution in the proposal? |
Updated |
@bernhardoj Could you upload videos again? |
When navigating to the search page, the cursor jumps to the middle of the input in a moment. @bernhardoj Did you see this problem? Screen.Recording.2025-02-12.at.17.44.09.mov |
Yeah, but I noticed it happen on main too, even without the composer being focused. I previously fixed it here: #52659 asad.mp4But looks like it's not working anymore. I even tried to hardcode the |
Found a padding problem on native. Will fix it tomorrow |
Fixed. Updated the recordings. |
@bernhardoj Could you fix this problem on this PR? I know it also happens on the main and this seems to be out of the scope of this PR. But it will cause weird behavior to our users Screen.Recording.2025-02-13.at.16.00.47.mov |
I will see if I can find the issue because as I mention, the props doesn't work at all. |
Ah, I see. The search input is rendered with react-native-live-markdown, and it currently doesn't support |
It looks like we need to make a fix on react-native-live-markdown |
Could you process it too? |
here is the pr: Expensify/react-native-live-markdown#621 |
There are 3 versions behind the version which contains the Do we really need to wait for it? It's already happening on prod. There is also a new 0.1.235, so we can just let them update the version. |
@bernhardoj Could you verify if this bug is solved on the new version? |
0.1.235 has the bug resolved because our fix is in 0.1.234 |
@bernhardoj I think we can bump live-markdown version on this PR |
Updated. Hopefully, there won't be an issue with 0.1.231-0.1.233, otherwise, I will need to redo this PR. |
@bernhardoj BUG: When clicking back button from search page, the header of report is located in wrong places Screen.Recording.2025-02-21.at.16.12.19.mov |
I can't seem to repro it. aa.mp4Maybe because I just merged with main? Can you please try again? |
|
🚧 @dylanexpensify has triggered a test hybrid app build. You can view the workflow run here. |
🧪🧪 Use the links below to test this adhoc build on Android, iOS, Desktop, and Web. Happy testing! 🧪🧪
|
Reviewer Checklist
Screenshots/VideosAndroid: NativeScreen.Recording.2025-02-24.at.18.19.11.movAndroid: mWeb ChromeScreen.Recording.2025-02-24.at.17.00.02.moviOS: NativeScreen.Recording.2025-02-24.at.18.30.08.moviOS: mWeb SafariScreen.Recording.2025-02-24.at.16.59.40.movMacOS: Chrome / SafariScreen.Recording.2025-02-24.at.17.00.53.movMacOS: DesktopScreen.Recording.2025-02-24.at.17.03.12.mov |
Test well on Android Hybrid App Screenrecorder-2025-02-24-18-40-21-224-2025-02-24.11_43_18.777.mp4 |
Looks good on IOS Hybrid App ! IMG_9156.MP4 |
@bernhardoj can you take look at conflicts please |
@youssef-lr Fixed |
|
✋ 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/youssef-lr in version: 9.1.7-0 🚀
|
Explanation of Change
Fixed Issues
$ #53136
PROPOSAL: #53136 (comment)
Tests
Same as QA Steps
Offline tests
Same as QA Steps
QA Steps
PR Author Checklist
### Fixed Issues
section aboveTests
sectionOffline steps
sectionQA steps
sectiontoggleReport
and notonIconClick
)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
android.mp4
Android: mWeb Chrome
android.mweb.mp4
iOS: Native
ios.mp4
iOS: mWeb Safari
ios.mweb.mp4
MacOS: Chrome / Safari
web.mp4
MacOS: Desktop
desktop.mp4