-
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
[HOLD for payment 2023-10-25] [$500] Fab - App disables CTRL+K / CTRL+SHIFT+K shortcuts on FAB menu option pages #29341
Comments
Job added to Upwork: https://www.upwork.com/jobs/~015979bf65c1172e21 |
Triggered auto assignment to @sakluger ( |
Bug0 Triage Checklist (Main S/O)
|
Triggered auto assignment to Contributor-plus team member for initial proposal review - @ntdiary ( |
ProposalPlease re-state the problem that we are trying to solve in this issue.App disables CTRL+K / CTRL+SHIFT+K shortcuts on FAB menu option pages What is the root cause of that problem?when popovermenu open we are setting closemodal but we never cleaned
so here when close modal is present its doesn't onModalCloseCallback trigger Line 17 in b820046
What changes do you think we should make in order to solve the problem?
Modal.setCloseModal(props.isVisible ? () => props.onClose(props.anchorRef) : null);
return () => {
Modal.setCloseModal(null)
}
// We want this effect to run strictly ONLY when isVisible prop changes
// eslint-disable-next-line react-hooks/exhaustive-deps
}, [props.isVisible]); What alternative solutions did you explore? (Optional)App/src/components/PopoverMenu/index.js Line 81 in f557852
here when once popover menu selected we should clear the modal Modal.setCloseModal(null)
|
ProposalPlease re-state the problem that we are trying to solve in this issueFab - App disables CTRL+K / CTRL+SHIFT+K shortcuts on FAB menu What is the root cause of that problem?Certainly! It seems that using the keyboard shortcuts CTRL+K or CTRL+SHIFT+K should open a search modal. However, if you've already opened a modal using the FAB menu, these shortcuts won't trigger the search modal again.
What changes do you think we should make in order to solve the problem?To ensure the CTRL+K or CTRL+SHIFT+K shortcuts activate the search modal, make sure to close any currently open modals beforehand through
result Clip.movWhat alternative solutions did you explore? (Optional)NA |
regression from #29251 confirmed by reverting changes from PR |
ProposalPlease re-state the problem that we are trying to solve in this issue.App disables CTRL+K / CTRL+SHIFT+K shortcuts after the modal is closed. What is the root cause of that problem?App/src/components/PopoverWithoutOverlay/index.js Lines 42 to 46 in 64d3e39
The purpose of this code block is to prevent setting closeModal function to null when the component is invisible the first time it is rendered. What changes do you think we should make in order to solve the problem? if (firstRenderRef.current || !props.isVisible) {
firstRenderRef.current = false;
return;
} Results:29341.webm |
This should be handled as regression as it's within regression period. Context: #27639 (comment) |
The root cause of this issue is the wrong condition here App/src/components/PopoverWithoutOverlay/index.js Lines 43 to 48 in 0c7f390
This looks weird. This should be updated like this
@dukenv0307 let me know your thought on this please |
@ntdiary can you review the above proposals plz? |
@s-alves10 In my PR I used More context here #28241 (comment), #28486 (comment) In your PR, |
Sure, will review soon. : ) |
when the first time the component is rendered with isVisible prop as false. This condition is enough with this?
|
@s-alves10 Yes. I mean this condition is wrong after your PR is merged. |
I'm not sure why you used such complex condition
|
Let's revert both PRs #28486 #29251. This regression seemed to be caused after #29251 changes. Then @dukenv0307 and I can work on a better solution. |
Triggered auto assignment to @tgolen, see https://stackoverflow.com/c/expensify/questions/7972 for more details. |
@tsa321, I believe your solution can work, but there are still some issues with React.useEffect(() => {
if (props.isVisible) {
props.onModalShow();
onOpen({
ref: props.withoutOverlayRef,
close: props.onClose,
anchorRef: props.anchorRef,
});
} else {
props.onModalHide();
close(props.anchorRef);
Modal.onModalDidClose();
}
Modal.willAlertModalBecomeVisible(props.isVisible);
// We want this effect to run strictly ONLY when isVisible prop changes
// eslint-disable-next-line react-hooks/exhaustive-deps
}, [props.isVisible]);
Eh, my bad, I didn't notice there's also a |
|
The solution for this issue has been 🚀 deployed to production 🚀 in version 1.3.86-5 and is now subject to a 7-day regression period 📆. Here is the list of pull requests that resolve this issue: If no regressions arise, payment will be issued on 2023-10-25. 🎊 After the hold period is over and BZ checklist items are completed, please complete any of the applicable payments for this issue, and check them off once done.
For reference, here are some details about the assignees on this issue:
As a reminder, here are the bonuses/penalties that should be applied for any External issue:
|
BugZero Checklist: The PR fixing this issue has been merged! The following checklist (instructions) will need to be completed before the issue can be closed:
|
Note: This issue has gone away. We reverted two related PRs (#29251, #28486), and their original issues have been addressed by the new PR #29152. Finally, based on the discussion in Slack, we should create regression test for these cases, ensure the keyboard shortcuts can always work well. case1:
case2:
Please feel free to let me know if I'm wrong. : ) |
Coming from slack, created an issue for this one so we have it in regression suite sooner than later https://github.com/Expensify/Expensify/issues/328177 |
Thanks @mountiny! I'm a bit unsure about payments here.
|
Hi @sakluger, by mistake you have sent me an offer of 500$ instead of 50$, can you rectify it once you are available? |
@sakluger, ha, don't worry, I think 50% of the base price is already very good. : ) |
@dhanashree-sawant good catch! Thank you for letting me know, I've updated the offer 🙇 |
Thanks @sakluger, it shows offer is withdrawn, can you check once you are available? |
@dhanashree-sawant in order to modify an offer that hasn't been accepted yet, I had to withdraw the offer and send a new one. Here is the new offer link, not sure if that offer works for you, but you should be able to find the new offer in your Upwork inbox. Can you let me know once you've accepted? @ntdiary your payment is completed, thanks! |
Thanks @sakluger, this is what it is displaying for new offer link, not sure how we can solve it. |
@dhanashree-sawant here's the offer link on my side: https://www.upwork.com/nx/wm/offer/27395089 Can you check your Upwork messages and see if there's a message from me on or around Thu, Oct 26 containing an offer? For you, it might be on Friday, Oct 27 because of the time zone difference. |
No sorry I couldn't find any offer in the messages. If you check the URL in the screenshot, It seems like upwork is displaying offer not available for the same offer link. I think offers on this job won't work and may need a new job. |
Alright, new job post, let's try this again! https://www.upwork.com/jobs/~0133af5efe5e763c64 Please let me know if that still doesn't work for you. |
Thanks yes now I was able to accept the offer. |
Great, thank you for your patience while we got that figured out 🙇 All done now, closing! |
If you haven’t already, check out our contributing guidelines for onboarding and email [email protected] to request to join our Slack channel!
Version Number: 1.3.81.5
Reproducible in staging?: y
Reproducible in production?: y
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Expensify/Expensify Issue URL:
Issue reported by: @dhanashree-sawant
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1697011802723769
Action Performed:
Expected Result:
App should not disable CTRL+K / CTRL+SHIFT+K shortcuts
Actual Result:
App disables CTRL+K / CTRL+SHIFT+K shortcuts on FAB menu option pages
Workaround:
Unknown
Platforms:
Which of our officially supported platforms is this issue occurring on?
Screenshots/Videos
Android: Native
Android: mWeb Chrome
iOS: Native
iOS: mWeb Safari
MacOS: Chrome / Safari
mac.chrome.ctrl.k.not.working.save.the.world.mov
windows.chrome.ctrl.k.not.working.save.the.world.mp4
Recording.4952.mp4
MacOS: Desktop
mac.desktop.ctrl.k.not.working.save.the.world.mov
View all open jobs on GitHub
Upwork Automation - Do Not Edit
The text was updated successfully, but these errors were encountered: