-
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-24] [$500] Web - App keeps both right click LHN popup and delete message popup open together #28324
Comments
Job added to Upwork: https://www.upwork.com/jobs/~01b7d70b5aeb6fba4a |
Triggered auto assignment to @dylanexpensify ( |
Bug0 Triage Checklist (Main S/O)
|
Triggered auto assignment to Contributor-plus team member for initial proposal review - @jjcoffee ( |
ProposalPlease re-state the problem that we are trying to solve in this issueApp keeps both right click LHN popup and delete popup open together. What is the root cause of that problem?The problem is that within the What changes do you think we should make in order to solve the problem?Within the const showDeleteModal = (reportID, reportAction, shouldSetModalVisibility = true, onConfirm = () => {}, onCancel = () => {}) => {
onCancelDeleteModal.current = onCancel;
onComfirmDeleteModal.current = onConfirm;
reportIDRef.current = reportID;
reportActionRef.current = reportAction;
- setShouldSetModalVisibilityForDeleteConfirmation(shouldSetModalVisibility);
- setIsDeleteCommentConfirmModalVisible(true);
+ hideContextMenu(() => {
+ setShouldSetModalVisibilityForDeleteConfirmation(shouldSetModalVisibility);
+ setIsDeleteCommentConfirmModalVisible(true);
+ });
}; What alternative solutions did you explore? (Optional)A different way to go about this would be to add an event listener for Videosweb.mp4 |
ProposalPlease re-state the problem that we are trying to solve in this issue.The LHN does not receive focus when clicking on it. What is the root cause of that problem?In the OptionRowLHN, default actions are prevented when the mouse is clicked. App/src/components/LHNOptionsList/OptionRowLHN.js Lines 162 to 169 in a65e62a
What changes do you think we should make in order to solve the problem?We can add
And adding ReportActionComposeFocusManager.focus(); to this point to ensure that the ReportActionComposer is in focus.
App/src/components/PopoverProvider/index.js Lines 21 to 28 in a65e62a
Results:28324.safari.webm28324.chrome.webmWhat alternative solutions did you explore? (Optional)If you prefer not to have this behavior, you have the option to call the hideContextMenu function within the showDeleteModal function to ensure the LHN popup is closed before opening the delete message popup. |
Please re-state the problem that we are trying to solve in this issueThe LHN popup is still open after opening the delete message popup. What is the root cause of that problem?The root cause of the issue is in the file PopoverReportActionContextMenu.js, within the showDeleteModel function. The issue occurs because the delete modal is opened without closing it first, resulting in both the delete modal and any previously open popups remaining visible simultaneously. What changes do you think we should make in order to solve the problem?Add this line of code which closes LHN popup before opening the delete popup
Video:-https://drive.google.com/file/d/1ifmq4_JOlrPy7gMaT7ahxPTgGQuQRFMl/view?usp=sharing |
@jjcoffee, @dylanexpensify Huh... This is 4 days overdue. Who can take care of this? |
@jjcoffee mind giving these proposals a review today? |
Oh I'm sorry, not sure how this one slipped past me! Reviewing today! |
Looks like the correct RCA here is in @astrohunter62's proposal, as we are always keeping focus on the composer when we should be defocusing since we're opening the right click menu. It looks like this is a regression from this PR, which was attempting to ensure that the composer refocuses when clicking an already-open chat in the LHN. So, we want to keep that behaviour but right clicking LHN should lose focus from composer. Could you update your proposal based on the above @astrohunter62? Also a side-note, can you please link to the code snippet you mention in your proposal - makes it much easier to review! The other two proposals are decent, but miss out because of not identifying the correct RCA. 🎀👀🎀 C+ reviewed |
Triggered auto assignment to @MariaHCD, see https://stackoverflow.com/c/expensify/questions/7972 for more details. |
@jjcoffee |
@astrohunter62 Perfect, thanks! I think the code block you're proposing to remove would cause a regression from this PR though. |
@jjcoffee Thank you. onSecondaryInteraction={(e) => {
showPopover(e);
DomUtils.blurActiveElement(); // add
}} |
📣 @jjcoffee 🎉 An offer has been automatically sent to your Upwork account for the Reviewer role 🎉 Thanks for contributing to the Expensify app! |
📣 @astrohunter62 You have been assigned to this job! |
Fix is merged! |
|
The solution for this issue has been 🚀 deployed to production 🚀 in version 1.3.85-4 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-24. 🎊 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:
|
@jjcoffee Hi, |
Regression test proposal
Do we agree 👍 or 👎 |
@astrohunter62 Payment will be coming soon as I've now completed the checklist! cc @dylanexpensify 🙇 |
Payment summary:
Please request money or apply to upwork job! |
@astrohunter62 sent offer! @dhanashree-sawant and @jjcoffee payment sent! |
@dylanexpensify Oops! Looks like you overpaid (I received $500) - is there anything I can do my end? |
@dylanexpensify |
@MariaHCD, @jjcoffee, @dylanexpensify, @astrohunter62 Whoops! This issue is 2 days overdue. Let's get this updated quick! |
@jjcoffee ah I requested half back for you to refund! It was easier than sending a new offer, waiting for you to accept, etc. haha! @astrohunter62 looking now! |
payments sent! |
@dylanexpensify Oooh, interesting, for some reason Upwork didn't send a notification with the refund request. Refunded now! |
If you haven’t already, check out our contributing guidelines for onboarding and email contributors@expensify.com to request to join our Slack channel!
Action Performed:
Expected Result:
App should close existing open popup on opening any other popup in the app
Actual Result:
App keeps both right click LHN popup and delete popup open together
Workaround:
Unknown
Platforms:
Which of our officially supported platforms is this issue occurring on?
Version Number: v1.3.74-2
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
Notes/Photos/Videos: Any additional supporting documentation
windows.chrome.both.right.click.LHN.and.delete.popup.open.together.mp4
mac.chrome.desktop.right.click.LHN.and.delete.popup.open.together.mov
20230927_195554.mp4
Expensify/Expensify Issue URL:
Issue reported by: @dhanashree-sawant
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1695654750958139
View all open jobs on GitHub
Upwork Automation - Do Not Edit
Issue Owner
Current Issue Owner: @dylanexpensifyThe text was updated successfully, but these errors were encountered: