-
Notifications
You must be signed in to change notification settings - Fork 3.1k
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
[UX Reliability] New modal in AttachmentPickerWithMenuItems
#56605
[UX Reliability] New modal in AttachmentPickerWithMenuItems
#56605
Conversation
How does this affect the I have a PR running which migrates all usages of Does this conflict with that PR? I think we'll definitely want to have the attachment modals as screens, since they always animate in from right-to-left and they are not used "modally" anywhere. |
It seems I may have initially used incorrect terminology. What I meant to refer to is the From the linked issue's description:
|
AttachmentModal
AttachmentPickerWithMenuItems
Got it, perfect thanks! No conflicts then :) |
@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] |
@shawnborton, you're a C+ now too? 😆 |
@ZhenjaHorbach I'll be handling this PR, so if anything comes up, please let me know! |
No problem ! |
@@ -350,7 +350,8 @@ function AttachmentPickerWithMenuItems({ | |||
</View> | |||
</View> | |||
<PopoverMenu | |||
animationInTiming={CONST.ANIMATION_IN_TIMING} | |||
animationInTiming={menuItems.length * 50} | |||
animationOutTiming={((menuItems.length * 50) / 3) * 2} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do we really need these mathematical operations ? 😅
Or at least I think we can update this like (menuItems.length * 50) * 0.66
This option looks a bit clearer as for me that the closing animation should be 33 percent faster
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I agree! Just pushed a fix with a comment 😄
Reviewer Checklist
Screenshots/VideosAndroid: Native2025-03-04.16.27.49.movAndroid: mWeb Chrome2025-03-04.16.31.36.moviOS: Nativeios.moviOS: mWeb Safariios-web.movMacOS: Chrome / Safariweb.movMacOS: Desktopdesktop.mov |
More like a D+! We're code owners in |
Haha, I was just joking because usually only C+ folks post the checklist! But thanks for keeping an eye on things! 🙌 |
@ZhenjaHorbach Could you test it on a physical device? I've seen similar issues (connected to navigation) and they only appear on emulators for some reason. |
Oh |
On a real device I have the same issue Screenrecorder-2025-03-05-08-56-09-557.mp4 |
Although I tested on dev env on the real device @shawnborton |
On it! |
🚧 @shawnborton 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! 🧪🧪
|
This bug is specific to dev only |
That’s really strange, and the fact that it only happens in the dev environment makes it even more confusing. I'll ask someone from SWM to take a look, as I suspect this issue might resurface from time to time. edit: this shouldn't block merging |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for thorough testing @ZhenjaHorbach!
Lets be on a look out for any potential regressions
✋ 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.10-0 🚀
|
🚀 Deployed to production by https://github.com/mountiny in version: 9.1.10-6 🚀
|
Explanation of Change
We've decided to refactor the
react-native-bottom-modal
code 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 inAttachmentModal
.Fixed Issues
$ #49354
Tests
I think testing should go like this:
To open the modal you need to:
Offline tests
Same as above, but it shouldn't matter
QA Steps
Same as above
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.mov
Android: mWeb Chrome
Android.-.mWeb.mov
iOS: Native
iOS.mov
iOS: mWeb Safari
iOS.-.mWeb.mov
MacOS: Chrome / Safari
web.mov
MacOS: Desktop
desktop.mov