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-07-28] [HOLD for payment 2023-07-26] Clicking on 'From' link navigates to main chat rather than navigating to the previous IOU thread report #23102

Closed
3 of 6 tasks
kavimuru opened this issue Jul 18, 2023 · 32 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 Engineering

Comments

@kavimuru
Copy link

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:

  1. Open an existing chat
  2. Click on 'Request money' link
  3. Enter amount & click on 'Next' button
  4. Click on 'Request' button
  5. Click on IOU preview component & observe that user is navigated to IOU thread report and IOU preview component is displayed
  6. Click on the IOU preview component & observe that user is navigated to a report where IOU detail is displayed
  7. Click on 'From' link

Expected Result:

User should be navigated to to the IOU thread report where user was navigated on step 5

Actual Result:

User is navigated to main chat

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: 1.3.42-5
Reproducible in staging?: y
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

Screencast.from.2023-07-18.17-29-49.webm
Recording.1283.mp4

Expensify/Expensify Issue URL:
Issue reported by: @Natnael-Guchima
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1689691734672829

View all open jobs on GitHub

@kavimuru kavimuru added Daily KSv2 Bug Something is broken. Auto assigns a BugZero manager. labels Jul 18, 2023
@melvin-bot
Copy link

melvin-bot bot commented Jul 18, 2023

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

@melvin-bot
Copy link

melvin-bot bot commented Jul 18, 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

@kavimuru kavimuru added the DeployBlockerCash This issue or pull request should block deployment label Jul 18, 2023
@github-actions github-actions bot added Engineering Hourly KSv2 and removed Daily KSv2 labels Jul 18, 2023
@OSBotify
Copy link
Contributor

👋 Friendly reminder that deploy blockers are time-sensitive ⏱ issues! Check out the open StagingDeployCash deploy checklist to see the list of PRs included in this release, then work quickly to do one of the following:

  1. Identify the pull request that introduced this issue and revert it.
  2. Find someone who can quickly fix the issue.
  3. Fix the issue yourself.

@melvin-bot
Copy link

melvin-bot bot commented Jul 18, 2023

Triggered auto assignment to @neil-marcellini (Engineering), see https://stackoverflow.com/c/expensify/questions/4319 for more details.

@BhuvaneshPatil
Copy link
Contributor

BhuvaneshPatil commented Jul 18, 2023

Proposal

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

Clicking on 'From' link navigates to main chat rather than navigating to the previous IOU thread report

What is the root cause of that problem?

In HeaderWithBackButton component, we are using AvatarWithDisplayName, there we are providing the report prop -

<AvatarWithDisplayName
report={parentReport || report}
policies={policies}
personalDetails={personalDetails}
/>

In this case if parentReport is not null, it's passed. And thus we are redirected to parentReport.

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

We shall change it to -

report={report || parentReport}

In this case, if report is null, parentReport will be used. But for our case(in this bug) we want to be redirected to report(the page that shows IOU preview. But as parentReport being non null, it will be passed and we are redirected to the chat

Result
Correct.redirect.mp4

What alternative solutions did you explore? (Optional)

@melvin-bot melvin-bot bot added Daily KSv2 and removed Hourly KSv2 labels Jul 18, 2023
@neil-marcellini neil-marcellini added Hourly KSv2 and removed Daily KSv2 labels Jul 18, 2023
@neil-marcellini
Copy link
Contributor

Huh why did this get changed to daily?

@aimane-chnaif
Copy link
Contributor

aimane-chnaif commented Jul 18, 2023

Huh why did this get changed to daily?

This happens when someone not assigned submits proposal

@neil-marcellini
Copy link
Contributor

👀 I'm looking into this now.

@neil-marcellini
Copy link
Contributor

@BhuvaneshPatil thanks for your proposal, I think you're on the right track, but I think reversing the OR statement would cause a problem. We need to understand why we pass the parentReport sometimes. I see it was added in this commit.

The reasoning in the proposal is the following.

An issue that arises is that the report we are passing to HeaderWithCloseButton is using props.parentReport in a singleTransactionView which means the pin option won't work.

That's no longer, true, now we simply pass the report. I'm going to remove the parentReport prop from HeaderWithBackButton entirely. I'll make sure pinning the report still works.

@Nikhil-Vats
Copy link
Contributor

@neil-marcellini I was also analysing the root cause of this issue and I came to the same conclusion. This doesn't exist on prod because it was removed in this PR but now in this PR it was added back. I will be happy to open a PR for this right now if you want me to.

@neil-marcellini
Copy link
Contributor

Nice thanks for finding the PR that added it back. That's the source of the regression. I have a PR in the works now.

@neil-marcellini neil-marcellini added the Reviewing Has a PR in review label Jul 18, 2023
@melvin-bot melvin-bot bot added Weekly KSv2 and removed Hourly KSv2 labels Jul 18, 2023
@BhuvaneshPatil
Copy link
Contributor

BhuvaneshPatil commented Jul 19, 2023

Thanks for informing @neil-marcellini .
I read through the proposal you have mentioned and it makes total sense.

@jasperhuangg jasperhuangg removed the DeployBlockerCash This issue or pull request should block deployment label Jul 19, 2023
@melvin-bot melvin-bot bot added Weekly KSv2 and removed Weekly KSv2 labels Jul 21, 2023
@melvin-bot melvin-bot bot changed the title [HOLD for payment 2023-07-26] Clicking on 'From' link navigates to main chat rather than navigating to the previous IOU thread report [HOLD for payment 2023-07-28] [HOLD for payment 2023-07-26] Clicking on 'From' link navigates to main chat rather than navigating to the previous IOU thread report Jul 21, 2023
@melvin-bot
Copy link

melvin-bot bot commented Jul 21, 2023

The solution for this issue has been 🚀 deployed to production 🚀 in version 1.3.43-7 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-07-28. 🎊

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 Jul 21, 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:

@neil-marcellini
Copy link
Contributor

@allroundexperts would you please help me out by taking care of the checklist above? Usually C+ does this.

@allroundexperts
Copy link
Contributor

@allroundexperts would you please help me out by taking care of the checklist above? Usually C+ does this.

Sure thing. Will do this today!

@melvin-bot melvin-bot bot added Daily KSv2 and removed Weekly KSv2 labels Jul 25, 2023
@flaviadefaria
Copy link
Contributor

@allroundexperts @neil-marcellini is the below correct?

@Natnael-Guchima = $250 (reporting bonus - UW)
@allroundexperts = $1000 (request via Expensify)

Also @allroundexperts can you please fill out the checklist above? Thanks!

@melvin-bot melvin-bot bot added the Overdue label Jul 28, 2023
@flaviadefaria
Copy link
Contributor

Bump on the above @allroundexperts.

@melvin-bot melvin-bot bot removed the Overdue label Jul 31, 2023
@allroundexperts
Copy link
Contributor

@flaviadefaria Is the checklist needed here? I just did a PR review of an internal employee here.

@flaviadefaria
Copy link
Contributor

@neil-marcellini should you be filling it out then? You are the one tagged so maybe that's how it works for internal issues?

@neil-marcellini
Copy link
Contributor

IMO C+ should always fill out the checklist. Seems like a reasonable ask for $1,000. I will do it this time to keep things moving.

@neil-marcellini
Copy link
Contributor

I think we should add a regression test because it's very easy to test and it's a core feature of our chat app now; people will be going into threads and going back to the parent often.

@neil-marcellini
Copy link
Contributor

Regression Test Proposal

  1. Open an existing chat
  2. Click on the plus button in the composer
  3. Click Request money
  4. Enter amount & click on 'Next' button
  5. Click on 'Request' button
  6. Click on IOU preview component
  7. Verify that the user is navigated to IOU report and IOU preview component is displayed
  8. Click on the IOU preview component
  9. Verify that the user is navigated to the thread report where the IOU detail is displayed
  10. Click on 'From' link
  11. Verify that you are navigated back to the IOU report in step 6

Do we agree 👍 or 👎

@flaviadefaria
Copy link
Contributor

flaviadefaria commented Aug 2, 2023

Are these payment amounts correct?

Since there's no contributor assigned I'm assuming we're only paying the bug reporter and the C+ for reviewing the PR?

@allroundexperts
Copy link
Contributor

Hi @neil-marcellini!
Thanks for taking care of this. I wasn't aware that a checklist is needed for a internal pr review as well. I stand corrected now 😄

@JmillsExpensify
Copy link

Reviewed details for @allroundexperts. These details are accurate based on summary from Business Reviewer and are now approved for payment in NewDot.

@flaviadefaria
Copy link
Contributor

Offer sent to @Natnael-Guchima!

@Natnael-Guchima
Copy link

Accepted the offer. Thanks @flaviadefaria

@flaviadefaria
Copy link
Contributor

Paid so closing this!

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 Engineering
Projects
None yet
Development

No branches or pull requests