[UX Reliability] Use new modal in BasePopoverReactionList#60016
[UX Reliability] Use new modal in BasePopoverReactionList#60016mountiny merged 9 commits intoExpensify:mainfrom
Conversation
|
nejlepší kód, jaký jsem kdy viděl! |
|
@shawnborton @ZhenjaHorbach One of you needs to 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] |
Reviewer Checklist
Screenshots/VideosAndroid: Nativeandroid.movAndroid: mWeb Chromeandroid-web.moviOS: Nativeios.moviOS: mWeb Safariios-web.movMacOS: Chrome / Safariweb.movMacOS: Desktopweb.mov |
|
@ZhenjaHorbach What's your ETA on finishing the checklist? I just merged the newest main for you! 🚀 |
|
Oh |
|
But now we have eslint issues 😅 |
Should be good now! @ZhenjaHorbach |
|
@blazejkustra |
|
How about now? 🙈 |
|
Yes @shawnborton 2025-04-18.13.19.28.mov |
|
That seems reasonable to me, definitely down to try that and see how it looks. cc @Expensify/design for viz. |
|
Same |
|
Looking good to me as well 👍 |
|
@ZhenjaHorbach I tried using this code: onClose?.();
InteractionManager.runAfterInteractions(() => {
Navigation.navigate(ROUTES.PROFILE.getRoute(item.accountID));
});However, after this change, the transition starts noticeably late: Simulator.Screen.Recording.-.iPhone.16.Pro.-.2025-04-22.at.15.47.27.mp4Here’s how it currently behaves: Simulator.Screen.Recording.-.iPhone.16.Pro.-.2025-04-22.at.15.56.12.mp4@shawnborton @dannymcclain @dubielzyk-expensify thoughts? |
|
Hmm I have a hard time seeing what's wrong with that first video! Hah, it seems fine to me? Are you saying that it should launch the RHP faster after you tap the member row? |
|
I uploaded the wrong video.. Please check again @shawnborton 🙏 |
|
Okay yeah wow, that definitely feels bad. I feel like the current behavior is much better. |
|
@blazejkustra |
|
Yeah I think that delay is too much—definitely long enough to cause people to wonder "is anything happening?" |
That's what I used and got this delay @ZhenjaHorbach |
|
Feel free to proceed with the checklist! Unless you have a better idea for navigating to the profile screen with a delay (aside from |
Strange |
|
Oh As for me now it works a little smoother and I hardly see any jerks 2025-04-22.16.29.42.mov |
|
LGTM ! |
| const {preferredLocale} = useLocalize(); | ||
|
|
||
| // eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing | ||
| const reactionReportActionID = reportActionID || CONST.DEFAULT_NUMBER_ID; |
There was a problem hiding this comment.
When could the reportActionID be empty string?
|
@blazejkustra @ZhenjaHorbach Thanks for a thorough testing and suggesting improvements, also for patience with the review. |
|
✋ 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/mountiny in version: 9.1.32-0 🚀
|
|
🚀 Deployed to production by https://github.com/thienlnam in version: 9.1.32-8 🚀
|

Explanation of Change
We've decided to refactor the
react-native-bottom-modalcode so that it utilizesreact-native-reanimated, our goal was to improve FPS, remove the outdated library and gradually switch to the new solution. This PR enables the new solution inBasePopoverReactionList.Fixed Issues
$ #49354
PROPOSAL: N/A
Tests
Offline tests
N/A
QA Steps
Same as tests
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
aaaa.webm
Android: mWeb Chrome
and.webm
iOS: Native
ios.mp4
MacOS: Chrome / Safari
Screen.Recording.2025-04-10.at.17.15.57.mov