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

[PAID] [$500] Distance- Expense preview does not show the updated currency when distance currency is changed #34066

Closed
6 tasks done
lanitochka17 opened this issue Jan 5, 2024 · 21 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

Comments

@lanitochka17
Copy link

lanitochka17 commented Jan 5, 2024

If you haven’t already, check out our contributing guidelines for onboarding and email contributors@expensify.com to request to join our Slack channel!


Version Number: 1.4.22-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
Expensify/Expensify Issue URL:
Issue reported by: Applause - Internal Team
Slack conversation:

Action Performed:

  1. Go to workspace chat
  2. Create a distance request
  3. Go to distance details page
  4. Click Amount
  5. Change the currency and save it
  6. Return to expense report page

Expected Result:

The distance preview will show the updated currency

Actual Result:

The distance preview does not show the updated currency

Workaround:

Unknown

Platforms:

Which of our officially supported platforms is this issue occurring on?

  • Android: Native
  • Android: mWeb Chrome
  • iOS: Native
  • iOS: mWeb Safari
  • MacOS: Chrome / Safari
  • MacOS: Desktop

Screenshots/Videos

Add any screenshot/video evidence

Bug6333495_1704486668560.20240105_054552.mp4

View all open jobs on GitHub

Upwork Automation - Do Not Edit
  • Upwork Job URL: https://www.upwork.com/jobs/~01f1b7774b1ba5d7d3
  • Upwork Job ID: 1743373752148869120
  • Last Price Increase: 2024-01-05
  • Automatic offers:
    • jjcoffee | Reviewer | 28091955
    • bernhardoj | Contributor | 28091956
@lanitochka17 lanitochka17 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 Jan 5, 2024
@melvin-bot melvin-bot bot changed the title Distance- Expense preview does not show the updated currency when distance currency is changed [$500] Distance- Expense preview does not show the updated currency when distance currency is changed Jan 5, 2024
Copy link

melvin-bot bot commented Jan 5, 2024

Job added to Upwork: https://www.upwork.com/jobs/~01f1b7774b1ba5d7d3

Copy link

melvin-bot bot commented Jan 5, 2024

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

@melvin-bot melvin-bot bot added the Help Wanted Apply this label when an issue is open to proposals by contributors label Jan 5, 2024
Copy link

melvin-bot bot commented Jan 5, 2024

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

Copy link

melvin-bot bot commented Jan 5, 2024

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

@bernhardoj
Copy link
Contributor

Proposal

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

The currency for distance request preview doesn't update when we update the currency.

What is the root cause of that problem?

This only happens with distance request preview. If we look at the normal review, we get the currency from requestCurrency, but for distance request, we get it from transaction.currency which holds the first currency when we create the transaction.

const getDisplayAmountText = () => {
if (isDistanceRequest) {
return requestAmount && !hasPendingWaypoints ? CurrencyUtils.convertToDisplayString(requestAmount, props.transaction.currency) : translate('common.tbd');
}
if (isScanning) {
return translate('iou.receiptScanning');
}
if (TransactionUtils.hasMissingSmartscanFields(props.transaction)) {
return Localize.translateLocal('iou.receiptMissingDetails');
}
return CurrencyUtils.convertToDisplayString(requestAmount, requestCurrency);
};

requestCurrency itself is coming from TransactionUtils.getCurrency that gets either modifiedCurrency or currency.

function getCurrency(transaction: OnyxEntry<Transaction>): string {
const currency = transaction?.modifiedCurrency ?? '';
if (currency) {
return currency;
}
return transaction?.currency ?? CONST.CURRENCY.USD;
}

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

Use requestCurrency for distance request too

@melvin-bot melvin-bot bot added the Overdue label Jan 8, 2024
@strepanier03
Copy link
Contributor

Looks good, I'll work on tying this to a wave or VIP tomorrow.

@melvin-bot melvin-bot bot removed the Overdue label Jan 9, 2024
@jjcoffee
Copy link
Contributor

jjcoffee commented Jan 9, 2024

@bernhardoj's proposal LGTM, nice and simple!

🎀👀🎀 C+ reviewed

Copy link

melvin-bot bot commented Jan 9, 2024

Triggered auto assignment to @thienlnam, see https://stackoverflow.com/c/expensify/questions/7972 for more details.

@strepanier03
Copy link
Contributor

Thanks @jjcoffee, I'll add to the VIP/Wave when I get confirmation.

@melvin-bot melvin-bot bot removed the Help Wanted Apply this label when an issue is open to proposals by contributors label Jan 10, 2024
Copy link

melvin-bot bot commented Jan 10, 2024

📣 @jjcoffee 🎉 An offer has been automatically sent to your Upwork account for the Reviewer role 🎉 Thanks for contributing to the Expensify app!

Offer link
Upwork job

@thienlnam
Copy link
Contributor

thienlnam commented Jan 10, 2024

This looks like it might fit under wave-5

Copy link

melvin-bot bot commented Jan 10, 2024

📣 @bernhardoj 🎉 An offer has been automatically sent to your Upwork account for the Contributor role 🎉 Thanks for contributing to the Expensify app!

Offer link
Upwork job
Please accept the offer and leave a comment on the Github issue letting us know when we can expect a PR to be ready for review 🧑‍💻
Keep in mind: Code of Conduct | Contributing 📖

@melvin-bot melvin-bot bot added Reviewing Has a PR in review Weekly KSv2 and removed Daily KSv2 labels Jan 10, 2024
@bernhardoj
Copy link
Contributor

PR is ready

cc: @jjcoffee

@melvin-bot melvin-bot bot removed the Weekly KSv2 label Jan 17, 2024
@melvin-bot melvin-bot bot added Weekly KSv2 Awaiting Payment Auto-added when associated PR is deployed to production labels Jan 17, 2024
@melvin-bot melvin-bot bot changed the title [$500] Distance- Expense preview does not show the updated currency when distance currency is changed [HOLD for payment 2024-01-24] [$500] Distance- Expense preview does not show the updated currency when distance currency is changed Jan 17, 2024
Copy link

melvin-bot bot commented Jan 17, 2024

Reviewing label has been removed, please complete the "BugZero Checklist".

@melvin-bot melvin-bot bot removed the Reviewing Has a PR in review label Jan 17, 2024
Copy link

melvin-bot bot commented Jan 17, 2024

The solution for this issue has been 🚀 deployed to production 🚀 in version 1.4.25-10 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 2024-01-24. 🎊

For reference, here are some details about the assignees on this issue:

Copy link

melvin-bot bot commented Jan 17, 2024

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] The PR that introduced the bug has been identified. Link to the PR:
  • [@jjcoffee] 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:
  • [@jjcoffee] 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:
  • [@jjcoffee] Determine if we should create a regression test for this bug.
  • [@jjcoffee] 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.
  • [@strepanier03] Link the GH issue for creating/updating the regression test once above steps have been agreed upon:

@jjcoffee
Copy link
Contributor

  • The PR that introduced the bug has been identified. Link to the PR: [No QA] Allow distance requests to be viewed #24556
  • 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: https://github.com/Expensify/App/pull/24556/files#r1466105952
  • 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: N/A - just required more thorough testing
  • Determine if we should create a regression test for this bug. Yes
  • 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.

Regression Test Proposal

  1. Open a policy expense chat
  2. Create a distance request
  3. Press the request preview once to open the expense report
  4. Press the request preview again to open the request/transaction detail thread
  5. Edit the currency to another currency
  6. Go back to the expense report
  7. Verify the distance request preview currency is updated

Do we agree 👍 or 👎

@jjcoffee
Copy link
Contributor

@strepanier03 Friendly bump for payment!

@strepanier03
Copy link
Contributor

Dang, another one where the automation didn't work to move this over to Daily. I'll work on this now.

@strepanier03 strepanier03 added Daily KSv2 and removed Weekly KSv2 labels Jan 26, 2024
@strepanier03 strepanier03 changed the title [HOLD for payment 2024-01-24] [$500] Distance- Expense preview does not show the updated currency when distance currency is changed [PAID] [$500] Distance- Expense preview does not show the updated currency when distance currency is changed Jan 26, 2024
@strepanier03
Copy link
Contributor

All paid up. Handling reg test and then closing.

@strepanier03
Copy link
Contributor

Thanks everyone 👋

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

No branches or pull requests

5 participants