Skip to content
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-06-29] [$1000] Tooltip not showing for single member in a group chat icon in LHN #20822

Closed
6 tasks done
Beamanator opened this issue Jun 15, 2023 · 58 comments
Assignees
Labels
Awaiting Payment Auto-added when associated PR is deployed to production Bug Something is broken. Auto assigns a BugZero manager. Daily KSv2 External Added to denote the issue can be worked on by a contributor Upwork Automation

Comments

@Beamanator
Copy link
Contributor

Beamanator commented Jun 15, 2023

If you haven’t already, check out our contributing guidelines for onboarding and email [email protected] to request to join our Slack channel!


Action Performed:

  1. look for a group in LHN
  2. hover over single person and then +4 or +n icon

Expected Result:

tooltips should be present for each

Actual Result:

Describe what actually happened

Workaround:

tooltip present only in +n icon and not in single member icon

ALSO:

Action Performed:

  1. go to settings-> worksapces
  2. select any workspace and go to invite members
  3. select invite -> choose few members -> next
  4. ON add message page, hover over avatar and notice there is profile tooltip

Expected Result:

tooltip with profile description

Actual Result:

no Tooltip is shown on add message page after memeber invitation

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?

  • Android / native
  • Android / Chrome
  • iOS / native
  • iOS / Safari
  • MacOS / Chrome / Safari
  • MacOS / Desktop

Version Number: main
Reproducible in staging?: N
Reproducible in production?: N
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
Expensify/Expensify Issue URL:
Issue reported by: @chiragxarora
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1686833052798899
Issue reported by: @ashimsharma10
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1686832877081139

View all open jobs on GitHub

Upwork Automation - Do Not Edit
  • Upwork Job URL: https://www.upwork.com/jobs/~0126747ee9e5114f69
  • Upwork Job ID: 1669337684643139584
  • Last Price Increase: 2023-06-15
@Beamanator Beamanator added External Added to denote the issue can be worked on by a contributor Daily KSv2 Bug Something is broken. Auto assigns a BugZero manager. labels Jun 15, 2023
@melvin-bot melvin-bot bot changed the title Tooltip not showing for single member in a group chat icon in LHN [$1000] Tooltip not showing for single member in a group chat icon in LHN Jun 15, 2023
@melvin-bot
Copy link

melvin-bot bot commented Jun 15, 2023

Job added to Upwork: https://www.upwork.com/jobs/~0126747ee9e5114f69

@melvin-bot
Copy link

melvin-bot bot commented Jun 15, 2023

Triggered auto assignment to @JmillsExpensify (Bug), see https://stackoverflow.com/c/expensify/questions/14418 for more details.

@melvin-bot
Copy link

melvin-bot bot commented Jun 15, 2023

Bug0 Triage Checklist (Main S/O)

  • This "bug" occurs on a supported platform (ensure Platforms in OP are ✅)
  • This bug is not a duplicate report (check E/App issues and #expensify-bugs)
    • If it is, comment with a link to the original report, close the issue and add any novel details to the original issue instead
  • This bug is reproducible using the reproduction steps in the OP. S/O
    • If the reproduction steps are clear and you're unable to reproduce the bug, check with the reporter and QA first, then close the issue.
    • If the reproduction steps aren't clear and you determine the correct steps, please update the OP.
  • This issue is filled out as thoroughly and clearly as possible
    • Pay special attention to the title, results, platforms where the bug occurs, and if the bug happens on staging/production.
  • I have reviewed and subscribed to the linked Slack conversation to ensure Slack/Github stay in sync

@melvin-bot
Copy link

melvin-bot bot commented Jun 15, 2023

Triggered auto assignment to @twisterdotcom (External), see https://stackoverflow.com/c/expensify/questions/8582 for more details.

@melvin-bot
Copy link

melvin-bot bot commented Jun 15, 2023

Triggered auto assignment to Contributor-plus team member for initial proposal review - @0xmiroslav (External)

@melvin-bot melvin-bot bot added the Help Wanted Apply this label when an issue is open to proposals by contributors label Jun 15, 2023
@melvin-bot
Copy link

melvin-bot bot commented Jun 15, 2023

Triggered auto assignment to @alex-mechler (External), see https://stackoverflow.com/c/expensify/questions/7972 for more details.

@jayeshmangwani
Copy link
Contributor

@Beamanator same root cause as this issue #20820

@situchan
Copy link
Contributor

situchan commented Jun 15, 2023

Proposal

Please re-state the problem that we are trying to solve in this issue.

Tooltip not showing on some avatars across the app

What is the root cause of that problem?

accountID is not passed correctly here

accountID={ReportUtils.getAccountIDForLogin(props.icons[0].name)}

allPersonalDetails now has accountID as key, was login before.

App/src/libs/ReportUtils.js

Lines 830 to 832 in ff4df6b

function getAccountIDForLogin(login) {
return lodashGet(allPersonalDetails, [login, 'accountID'], '');
}

What changes do you think we should make in order to solve the problem?

Introduce id in avatar object and deprecate getAccountIDForLogin function (I suggest this for optimization. No need to pull up personalDetails data again to get accountID which is already fetched)

old avatar object: {source, type, name}
new avatar object: {source, type, name, id}

  1. add id: accountID here:

    function getAvatarsForAccountIDs(accountIDs, personalDetails) {
    return _.map(accountIDs, (accountID) => {
    const userPersonalDetail = lodashGet(personalDetails, accountID, {login: '', accountID, avatar: ''});
    return {
    source: UserUtils.getAvatar(userPersonalDetail.avatar, userPersonalDetail.accountID),
    type: CONST.ICON_TYPE_AVATAR,
    name: userPersonalDetail.login,
    };
    });
    }

  2. add id: accountID in all occurrences of creating avatar object in

    function getIconsForParticipants(participants, personalDetails) {

  3. function getIcons(report, personalDetails, defaultIcon = null, isPayer = false) {

  4. replace all getAccountIDForLogin occurrences with icon.id in MultipleAvatars component

@twisterdotcom
Copy link
Contributor

Why did Melvin assign @JmillsExpensify and me separately for Bug and External?

@0xmiros
Copy link
Contributor

0xmiros commented Jun 15, 2023

Proposal looks good to me.
I like the idea of adding id in all avatar objects to be used in UserDetailsTooltip throughout the app.
I tested and confirmed that it also fixes other avatar tooltip issues like #20820.

🎀 👀 🎀 C+ reviewed
cc: @alex-mechler

@twisterdotcom
Copy link
Contributor

We can only really pick one proposal for both. @0xmiroslav and @mananjadhav - I see it seems this proposal: #20820 (comment) from @alitoshmatov has been vetted and was posted just a bit earlier than the vetted one from @situchan here.

All things being equal, I think if they're basically the same, we should go with the slightly earlier one.

@0xmiros
Copy link
Contributor

0xmiros commented Jun 15, 2023

Oh I checked that issue but didn't notice alternative solution from @alitoshmatov.
Btw it's limited to Workspace invite page so won't fix this one directly.
We should update ReportUtils as well to fix LHN avatars.

@twisterdotcom
Copy link
Contributor

Okay, do we think there is a unified solution for both issues, or are we okay to solve them independently without merge conflicts?

It feels like a waste of time to keep both issues open if we know the solution will be the same, even if they are "different" bugs, the root cause seems to be the same.

@0xmiros
Copy link
Contributor

0xmiros commented Jun 15, 2023

As the root cause is same, I suggest to handle both in one issue.

@alex-mechler
Copy link
Contributor

Why did Melvin assign @JmillsExpensify and me separately for Bug and External?

Race condition. Both Bug and External try to assign a BZ team member, but since they were added at the same time, we didn't see a BZ team member already assigned for either, and thus assigned a new one

It feels like a waste of time to keep both issues open if we know the solution will be the same, even if they are "different" bugs, the root cause seems to be the same.

I think we should solve them in the same issue, it will just create a potential mess to try to keep them separate


I think @situchan's proposal is a bit more complete and like @0xmiroslav mentioned, will cover both issues, so I think we should move forward with that route.

@Beamanator since you have more context on this, can you double check this reasoning?

@alex-mechler
Copy link
Contributor

@Beamanator actually pointed me in the direction of #20818, which was created for #20801 (comment).

That PR solves both this and #20820, so closing in favor of that

@0xmiros
Copy link
Contributor

0xmiros commented Jun 21, 2023

@chiragxarora I don't think our PR fixes #20839. If you think it's fixed and not reproducible anymore, maybe fixed by another PR indirectly.
If you'd like to claim bug reporting bounty, please find out that PR.

@0xmiros
Copy link
Contributor

0xmiros commented Jun 21, 2023

Here's summary of reporters per each issue:
#20801 - LHN display names - reported by @gadhiyamanan
#20813 - report header - reported by @huzaifa-99
#20820 - invite members - reported by @ashimsharma10
#20822, #20934 - LHN group avatars - first reported by @chiragxarora
#20971 - Concierge icon (QA team)
#20981 - members list - reported by @tewodrosGirmaA

I think bug reporting bonus is eligible for 5 people above.
cc: @twisterdotcom

@twisterdotcom
Copy link
Contributor

Nice, thanks @0xmiroslav. Okay, given the size of the fix, I'm not included to say it's worth... counts issues $8k, but I think we can add another $1k + bonus (so this would be $3k total = $2k + 50% bonus). I'll pay out $250 for each of the reporters above.

@michaelhaxhiu
Copy link
Contributor

🧇 I'm removing AlexM's assignment. Seems this doesn't need a new CME since we are just doing payment.

@melvin-bot melvin-bot bot added Weekly KSv2 and removed Daily KSv2 labels Jun 22, 2023
@melvin-bot melvin-bot bot changed the title [HOLD for payment 2023-06-28] [$1000] Tooltip not showing for single member in a group chat icon in LHN [HOLD for payment 2023-06-29] [HOLD for payment 2023-06-28] [$1000] Tooltip not showing for single member in a group chat icon in LHN Jun 22, 2023
@melvin-bot
Copy link

melvin-bot bot commented Jun 22, 2023

The solution for this issue has been 🚀 deployed to production 🚀 in version 1.3.30-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-06-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.

  • External issue reporter
  • Contributor that fixed the issue
  • Contributor+ that helped on the issue and/or PR

As a reminder, here are the bonuses/penalties that should be applied for any External issue:

  • Merged PR within 3 business days of assignment - 50% bonus
  • Merged PR more than 9 business days after assignment - 50% penalty

@melvin-bot
Copy link

melvin-bot bot commented Jun 22, 2023

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] The PR that introduced the bug has been identified. Link to the PR:
  • [@0xmiroslav] The offending PR has been commented on, pointing out the bug it caused and why, so the author and reviewers can learn from the mistake. Link to comment:
  • [@0xmiroslav] A discussion in #expensify-bugs has been started about whether any other steps should be taken (e.g. updating the PR review checklist) in order to catch this type of bug sooner. Link to discussion:
  • [@0xmiroslav] Determine if we should create a regression test for this bug.
  • [@0xmiroslav] If we decide to create a regression test for the bug, please propose the regression test steps to ensure the same bug will not reach production again.
  • [@twisterdotcom] Link the GH issue for creating/updating the regression test once above steps have been agreed upon:

@Beamanator Beamanator changed the title [HOLD for payment 2023-06-29] [HOLD for payment 2023-06-28] [$1000] Tooltip not showing for single member in a group chat icon in LHN [HOLD for payment 2023-06-29] [$1000] Tooltip not showing for single member in a group chat icon in LHN Jun 23, 2023
@melvin-bot melvin-bot bot added Daily KSv2 and removed Weekly KSv2 labels Jun 27, 2023
@twisterdotcom
Copy link
Contributor

All offers sent. @0xmiroslav do we need a regression test for this?

@twisterdotcom twisterdotcom added Bug Something is broken. Auto assigns a BugZero manager. and removed Bug Something is broken. Auto assigns a BugZero manager. labels Jun 28, 2023
@melvin-bot
Copy link

melvin-bot bot commented Jun 28, 2023

Triggered auto assignment to @NicMendonca (Bug), see https://stackoverflow.com/c/expensify/questions/14418 for more details.

@Expensify Expensify deleted a comment from melvin-bot bot Jun 28, 2023
@twisterdotcom
Copy link
Contributor

@NicMendonca I'm OOO now. If this needs a test case, could you handle it. Otherwise, everything is done. I'll pay out the contracts when everyone has accepted.

@gadhiyamanan
Copy link
Contributor

@twisterdotcom accepted, thanks!

@0xmiros
Copy link
Contributor

0xmiros commented Jun 28, 2023

I don't think regression test step is needed. The list of issues occurred during secure logins refactor.

@huzaifa-99
Copy link
Contributor

Accepted, Thanks @twisterdotcom

1 similar comment
@tewodrosGirmaA
Copy link

Accepted, Thanks @twisterdotcom

@twisterdotcom
Copy link
Contributor

All paid out.

@NicMendonca
Copy link
Contributor

no regression test needed, so closing!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Awaiting Payment Auto-added when associated PR is deployed to production Bug Something is broken. Auto assigns a BugZero manager. Daily KSv2 External Added to denote the issue can be worked on by a contributor Upwork Automation
Projects
None yet
Development

No branches or pull requests