-
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-09-29] [$250] Tooltip flickers when click 3 dots menu on task report #26831
Comments
Triggered auto assignment to @puneetlath ( |
Bug0 Triage Checklist (Main S/O)
|
ProposalPlease re-state the problem that we are trying to solve in this issue.Tooltip flickers when clicking the three-dot menu What is the root cause of that problem?The 3-dot menu uses PopoverMenu which uses PopoverWithMeasuredContent to show the menu. In PopoverWithMeasuredContent, it will render an invisible View with an absolute position to measure the size of the menu. App/src/components/PopoverWithMeasuredContent.js Lines 136 to 157 in 1223e1e
The invisible menu is put on top of the 3-dot menu icon which triggers the Screen.Recording.2023-08-29.at.19.53.07.movWhat changes do you think we should make in order to solve the problem?Render the invisible menu off-screen by setting the left position to be -9999 for example (or windowWidth). |
Job added to Upwork: https://www.upwork.com/jobs/~01e970a8827f09ba1a |
Current assignee @puneetlath is eligible for the External assigner, not assigning anyone new. |
Triggered auto assignment to Contributor-plus team member for initial proposal review - @0xmiroslav ( |
Upwork job price has been updated to $250 |
Both the FAB button and its menu have a position: absolute, so the View parent has 0 height. This makes both FAB and menu rendered outside of the screen, but the FAB button is positioned using Screen.Recording.2023-09-08.at.00.09.14.mov |
ProposalPlease re-state the problem that we are trying to solve in this issue. What is the root cause of that problem? In React, layout and rendering can be affected by the nesting of components within By enclosing the PopoverMenu within its own What changes do you think we should make in order to solve the problem? wrap PopoverMenu with the
** Video of working solution ** three-dotted-menu-tooltip-bug-spapierz.movSarah Papierz |
📣 @spapierz! 📣
|
Contributor details |
✅ Contributor details stored successfully. Thank you for contributing to Expensify! |
@puneetlath, @0xmiroslav Whoops! This issue is 2 days overdue. Let's get this updated quick! |
@puneetlath, @0xmiroslav Whoops! This issue is 2 days overdue. Let's get this updated quick! |
@0xmiroslav thoughts on the proposals? |
I don't think anyone provided the exact root cause. As seen in video, this issue doesn't happen on "Start a call" button but only 3 dots menu. Screen.Recording.2023-09-13.at.7.28.33.PM.mov
Also, nobody answered to this question |
@0xmiroslav I answered the FAB here. Start a call button doesn't use PopoverMenu. |
📣 It's been a week! Do we have any satisfactory proposals yet? Do we need to adjust the bounty for this issue? 💸 |
Base component of both are Popover. Why can't we apply same solution if works on other popovers? |
The issue is on |
@0xmiroslav – After reevaluating this problem, I believe the issue lies within the functions that run outside of a controlled React component mounting lifecycle in the Here is the new proposed fix:
This is consistent with the popover being used for the This organized approach ensures that the measurement and visibility checks are executed consistently and at the appropriate times. This solves the flickering issue when clicking. |
@bernhardoj's proposal looks good to me. |
📣 @0xmiroslav 🎉 An offer has been automatically sent to your Upwork account for the Reviewer role 🎉 Thanks for contributing to the Expensify app! |
📣 @bernhardoj 🎉 An offer has been automatically sent to your Upwork account for the Contributor role 🎉 Thanks for contributing to the Expensify app! Offer link |
📣 @situchan 🎉 An offer has been automatically sent to your Upwork account for the Reporter role 🎉 Thanks for contributing to the Expensify app! |
PR is ready cc: @0xmiroslav |
🎯 ⚡️ Woah @0xmiroslav / @bernhardoj, great job pushing this forwards! ⚡️ The pull request got merged within 3 working days of assignment, so this job is eligible for a 50% #urgency bonus 🎉
On to the next one 🚀 |
|
The solution for this issue has been 🚀 deployed to production 🚀 in version 1.3.72-11 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-09-29. 🎊 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:
|
@0xmiroslav friendly reminder on the checklist so that we can pay this out later this week 🙂 |
BZ Checklist: This came from combination of invisible view and Hoverable onMouseLeave callback in Tooltip. This is very minor and not worthy of adding regression test which should run every deploy. |
Payment summary: @situchan - $50 for reporting (paid in Upwork) 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:
Tooltip should be hidden or should keep showing
Actual Result:
Tooltip flickers - disappears and re-appears
Workaround:
Can the user still use Expensify without this being fixed? Have you informed them of the workaround?
Platforms:
Which of our officially supported platforms is this issue occurring on?
Version Number: 1.3.64-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: Any additional supporting documentation
264001674-fffc9e65-58fe-494d-af34-9d12ce15ff1c.mov
Recording.1562.mp4
Expensify/Expensify Issue URL:
Issue reported by: @situchan
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1693310046653569
View all open jobs on GitHub
Upwork Automation - Do Not Edit
The text was updated successfully, but these errors were encountered: