-
Notifications
You must be signed in to change notification settings - Fork 2.9k
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-03-14] [$1000] Report item remains hovered even when mouse is moved away from it. #15300
Comments
Triggered auto assignment to @trjExpensify ( |
Bug0 Triage Checklist (Main S/O)
|
Job added to Upwork: https://www.upwork.com/jobs/~01bff08adf85d6111c |
Current assignee @trjExpensify is eligible for the External assigner, not assigning anyone new. |
Triggered auto assignment to Contributor-plus team member for initial proposal review - @aimane-chnaif ( |
Triggered auto assignment to @yuwenmemon ( |
ProposalPlease re-state the problem that we are trying to solve in this issue.Both the hovered row and mini context menu remain visible when we hover over the mini context menu and right click to open the main context menu, then click outside. What is the root cause of that problem?The root cause is when we right click, the Due to this the What changes do you think we should make in order to solve the problem?To fix this we can simply remove this line App/src/pages/home/report/ReportActionItem.js Line 168 in df3c6e9
When the main context menu is opened, the We don't need that line because What alternative solutions did you explore? (Optional)NA ResultWorking well after the fix: |
ProposalPlease re-state the problem that we are trying to solve in this issue.There is a problem where the ReportItem remains in a "hovered" state even after we have closed the context menu. This occurs when we trigger the context menu by clicking on a context menu item and then click outside the menu to close it. What is the root cause of that problem?Previously, we were resetting the "hover" state of the ReportItem component by detecting a There was a comment in the previously removed code that described the purpose of the /**
* If the user clicks outside this component, we want to make sure that the hover state is set to false.
* There are some edge cases where the mouse can leave the component without the `onMouseLeave` event firing,
* leaving this Hoverable in the incorrect state.
* One such example is when a modal is opened while this component is hovered, and you click outside the component
* to close the modal.
*
* @param {Object} event - A click event
*/
resetHoverStateOnOutsideClick(event) { More details: here What changes do you think we should make in order to solve the problem?We can bring back the What alternative solutions did you explore? (Optional) |
@getusha I think Just curious if you find any other cases besides this one that requires |
@tienifr Thanks for sharing the link. I have read it, but in my opinion, it is the way in which the functions are being used that makes it feel like a hack. Additionally, we should keep in mind that removing code without proper testing or researching its use case and intention can result in future issues, such as the one we are currently facing. |
This comment was marked as outdated.
This comment was marked as outdated.
I have taken the time to investigate this further and I can confirm that @tienifr RCA is correct and the suggested solution is good as well. The @tienifr I think you have a tiny typo here "when we right click, the isContextMenuActive will become false" I believe you meant to write true not false. Other than that, good work! 👍 |
@s77rt yes, thanks for noticing that! |
This comment was marked as outdated.
This comment was marked as outdated.
@tienifr proposal will make a regression where the mini context menu does not hide when we right click the action item until we move the cursor (Safari only). I'm pretty sure it's because of the Screen.Recording.2023-02-25.at.06.26.03.mov |
@bernhardoj Nice catch! The rule is usually if you fix one thing and broke another then you fixed nothing but not sure if this applies here since it only effect Safari (Safari only emits |
@bernhardoj Good catch! However, I don't see any bad effect since mini context menu disappears immediately when click/move the mouse or press Cmd key for shortcut. And the strange thing is this doesn't happen when right click inside mini context menu. It seems relying on only event listeners ( @tienifr do you have an updated proposal considering this safari issue? My suggestions here: Option 1: @roryabraham what do you think? (since you suggested to remove |
|
The solution for this issue has been 🚀 deployed to production 🚀 in version 1.2.79-0 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-03-14. 🎊 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.
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:
|
Looks like something related to As a reminder, please make sure that all proposals are not workarounds and that any and all attempt to fix the issue holistically have been made before proceeding with a solution. Proposals to change our Feel free to drop a note in #expensify-open-source with any questions. |
Okay, how are we looking with these items?
To prepare for payments. It looks like melvin increased the price while the proposal was under review, so I'm going to change the title back to $1k. To confirm the amounts due:
Is that correct? |
Upwork job price has been updated to $1000 |
I think this is kind of edge case and I am not sure if this should be added to checklist. |
Yeah, I tend to agree that this is sort of edge case to include in the PR checklist. |
On a similar note, I don't think we'd add a regression test for this. It's the sort of visual bug that would be caught by executing other existing test cases. Do you guys agree with that? |
Okay, @aimane-chnaif, confirming these are correct right? |
You are asking about price revert? |
Yep, to confirm you agree these are the payments due. I also arrived at that conclusion. Sent all the offers 👍 |
Settled up with @aimane-chnaif! |
Settled up with @allroundexperts. Over to you, @tienifr and then we can close this out. 👍 |
@tienifr settled up! closing this out, thanks everyone! |
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:
When clicked outside the item to close the main context menu, the mini context menu should disappear along with the hovered row.
Actual result:
Both the hovered row and mini context menu remain visible.
Workaround:
unknown
Platforms:
Which of our officially supported platforms is this issue occurring on?
Version Number: 1.2.74-0
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:
mac.chrome.repro.mov
Screen.Recording.2023-02-19.at.2.59.26.AM.1.mov
Expensify/Expensify Issue URL:
Issue reported by: @allroundexperts
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1676595049049579
View all open jobs on GitHub
Upwork Automation - Do Not Edit
The text was updated successfully, but these errors were encountered: