PopoverWithMeasuredContent optimization#67035
Conversation
| // eslint-disable-next-line import/prefer-default-export | ||
| export type {PopoverWithMeasuredContentProps}; |
There was a problem hiding this comment.
You can export it as default export to get rid of the eslint disable comment
|
@alitoshmatov 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] |
|
hey @alitoshmatov will you have a time to take look @ this sometime soon ? |
Bump |
|
@ZhenjaHorbach please go ahead with the review |
Reviewer Checklist
Screenshots/VideosAndroid: HybridApp2025-08-04.22.01.33.movAndroid: mWeb Chrome2025-08-04.22.03.41.moviOS: HybridApp2025-08-04.21.53.08.moviOS: mWeb Safari2025-08-04.21.50.09.movMacOS: Chrome / Safari2025-08-04.21.45.37.movMacOS: Desktop2025-08-04.21.45.37.mov |
|
Due to fast closing animation, we can see the screen change at the bottom under bottom nav on IOS after pressing Go to workspace on workspaces 3 dots menu 2025-08-04.21.56.56.movAnd the closing animation looks pretty fast on android on Dropdown button in Search Filters 2025-08-04.22.02.40.movBut just checked on main |
|
Overall everything looks good ! |
|
✋ This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release. |
|
@jmusial I think there is an issue from this PR when 3 button navigation is enabled, we may need the correct bottom position. issue1.webm |
|
@Pujan92 will take a look |
|
Cannot reproduce it on latest 3.button.mov |
|
Confirm |
|
I am not sure of it but as I am not able to see that issue if I comment this part and render with |
|
Interesting, I tested w/ those lines commented out and then on staging build and issue was visible in all cases. @ZhenjaHorbach can you retest as well plz ? |
|
🚀 Deployed to staging by https://github.com/mountiny in version: 9.1.90-0 🚀
|
|
🚀 Deployed to production by https://github.com/jasperhuangg in version: 9.1.90-11 🚀
|
|
@jmusial @mountiny this PR causes the Since we need the measurement also for popovers on small screen width, i'm not sure whether we can keep this optimization in place. Maybe we can have a more optimized measuring logic for native platforms specifically, beacuse there we will never have these "sophisticated positioning schemas" (except for maybe on tablets) This is the problem: Simulator.Screen.Recording.-.iPhone.17.Pro.-.2025-09-30.at.15.02.21.mov(Originally from #68640 (comment)) @jmusial do you want to work on fixing this, as you already worked on this PR? |
|
Hey @chrispader I understand that you're refering to to comments not shifting when bottom modal opens ? |
@jmusial sorry my bad, i missed that thread. So in the end, we only want to move the scrollable content, when we go from open keyboard to a modal/popover? No shifting animation to show the last comment on top of the popover anymore? |
|
No worries :) AFAIU we only want to move comments when opening keyboard or editing, not when showing bottom docked modal on small screen, but let's maybe wait for @mountiny to confirm. |
|
Yeah, I think we only need to move it when the keyboard opens so that is also during comment editing |


Explanation of Change
Fixed Issues
$ #67034
PROPOSAL:
Tests
Popover with measured content is used in various places across the whole app. For testing I picked 3 sample scenarios:
1. Dropdown button in Search Filters
2. Worspaces 3 dots menu
3. Reaction modal
Offline tests
Same as tests
QA Steps
Same as tests
PR Author Checklist
### Fixed Issuessection aboveTestssectionOffline stepssectionQA stepssectioncanBeMissingparam foruseOnyxtoggleReportand 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
0037.andorid.native.mov
Android: mWeb Chrome
0037.android.chrome.mov
iOS: Native
0037.ios.mp4
iOS: mWeb Safari
0037.ios.safari.mp4
MacOS: Chrome / Safari
0037.desktop.chrome.mov
MacOS: Desktop
0037.desktop.native.mov