Fix: Quickly press different menu items opens them one by one#24173
Fix: Quickly press different menu items opens them one by one#24173youssef-lr merged 8 commits intoExpensify:mainfrom
Conversation
…app-opens-all-pressed-option
…app-opens-all-pressed-option
|
@mananjadhav 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] |
|
Bump @mananjadhav |
|
I was just reviewing the code. Code changes look okay, but I am a bit concerned about the PressableWithFeedback change. I'll need time for QA. |
Reviewer Checklist
Screenshots/VideosWebweb-settings-back-to-back.movMobile Web - Chromemweb-chrome-back-to-back.movMobile Web - Safarimweb-safari-back-to-back.movDesktopdesktop-settings-back-to-back.moviOSios-settings-back-to-back.movAndroidandroid-back-to-back.mov |
|
@tienifr Earlier changes from Unfortunately my cocoapods has crashed and I am unable to test this on latest main. Can you please confirm if we introduced a regression here? duplicate-workspaces-created.mov |
…app-opens-all-pressed-option
|
@mananjadhav Turns out this is the correct way to trigger onPress={(e) => {
singleExecution(() => props.onPress(e))();
}}I've tested again and it worked fine. Screen.Recording.2023-08-15.at.00.29.59.mov |
|
Bump @mananjadhav |
|
Thanks for the fix @tienifr. I'll be testing this today. |
|
@tienifr yeah this is working fine. ios-multiple-pressable-with-feedback.mov@youssef-lr This is ready for your review. 🎀 👀 🎀 C+ reviewed. |
|
Bump @youssef-lr for PR review. |
…app-opens-all-pressed-option
|
@youssef-lr quick bump |
|
LGTM! Will test quickly on my physical device and then I'll merge. (Forgot to do so before approving). |
|
✋ 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: 1.3.58-0 🚀
|
|
🚀 Deployed to production by https://github.com/luacmartins in version: 1.3.58-5 🚀
|
|
🚀 Deployed to staging by https://github.com/youssef-lr in version: 1.3.59-0 🚀
|
|
🚀 Deployed to production by https://github.com/luacmartins in version: 1.3.59-5 🚀
|
Details
In Settings page, quickly press multiple menu items will open them all, one by one. This PR only allows the first pressed item to be opened.
Fixed Issues
$ #23867
PROPOSAL: #23867 (comment)
Tests
Offline tests
NA
QA Steps
On Android, there's a slow delay when navigating so it's hard to reproduce on other platforms but it's fine to test on Android only.
PR Author Checklist
### Fixed Issuessection aboveTestssectionOffline stepssectionQA stepssectiontoggleReportand notonIconClick)myBool && <MyComponent />.src/languages/*files and using the translation methodWaiting for Copylabel for a copy review on the original GH to get the correct copy.STYLE.md) were followedAvatar, I verified the components usingAvatarare working as expected)/** comment above it */thisproperly so there are no scoping issues (i.e. foronClick={this.submit}the methodthis.submitshould be bound tothisin the constructor)thisare necessary to be bound (i.e. avoidthis.submit = this.submit.bind(this);ifthis.submitis never passed to a component event handler likeonClick)StyleUtils.getBackgroundAndBorderStyle(themeColors.componentBG))Avataris modified, I verified thatAvataris working as expected in all cases)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
Web
web-compressed.mov
Mobile Web - Chrome
Screenrecording_20230810_101458.mp4
Mobile Web - Safari
Screen.Recording.2023-08-10.at.10.28.24.mov
Desktop
desktop-compressed.mov
iOS
Screen.Recording.2023-08-10.at.10.12.35.mov
Android
android.mov