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 2024-05-02] [$250] Remove MoneyRequestConfirmationList.js and copy any changes since Nov 27 into MoneyTemporaryForRefactorRequestConfirmationList.js #39559

Closed
Tracked by #29107
tgolen opened this issue Apr 3, 2024 · 49 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 External Added to denote the issue can be worked on by a contributor Reviewing Has a PR in review

Comments

@tgolen
Copy link
Contributor

tgolen commented Apr 3, 2024

This is a part of #29107. You can look at that issue for more context behind the cleanup process.

Problem

The app has two redundant components:

Old Component: MoneyRequestConfirmationList
New Component MoneyTemporaryForRefactorRequestConfirmationList

Solution

Now that most of the referenced components have been cleaned up and following the examples (example 1, example 2), the Old Component needs to be completely removed from the codebase

  1. Look at the history of the Old Component
  2. If there are any changes since Nov 27, 2023 which have not been added to the New Component, copy those changes
  3. Replace all uses of the Old Component with the New Component
  4. Remove all traces of Old Component
Upwork Automation - Do Not Edit
  • Upwork Job URL: https://www.upwork.com/jobs/~01a11e5428841cbb31
  • Upwork Job ID: 1775636536127291392
  • Last Price Increase: 2024-04-03
  • Automatic offers:
    • eh2077 | Reviewer | 0
    • brunovjk | Contributor | 0
Issue OwnerCurrent Issue Owner: @bfitzexpensify
@tgolen tgolen changed the title Remove MoneyRequestConfirmationList.js and copy any changes since Nov 27 into MoneeRequestConfirmationList.js Remove MoneyRequestConfirmationList.js and copy any changes since Nov 27 into IOURequestStepConfirmation.js Apr 3, 2024
@tgolen tgolen changed the title Remove MoneyRequestConfirmationList.js and copy any changes since Nov 27 into IOURequestStepConfirmation.js [$250] Remove MoneyRequestConfirmationList.js and copy any changes since Nov 27 into IOURequestStepConfirmation.js Apr 3, 2024
Copy link

melvin-bot bot commented Apr 3, 2024

⚠️ Could not update price automatically because there is no linked Upwork Job ID. The BZ team member will need to update the price manually in Upwork.

@tgolen tgolen self-assigned this Apr 3, 2024
@tgolen tgolen added External Added to denote the issue can be worked on by a contributor Engineering Daily KSv2 Bug Something is broken. Auto assigns a BugZero manager. labels Apr 3, 2024
Copy link

melvin-bot bot commented Apr 3, 2024

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

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

melvin-bot bot commented Apr 3, 2024

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

Copy link

melvin-bot bot commented Apr 3, 2024

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

@tgolen
Copy link
Contributor Author

tgolen commented Apr 3, 2024

@bfitzexpensify I might have messed up on the price for this. Can you please confirm for me that the UpWork issue is $250?

@abzokhattab
Copy link
Contributor

abzokhattab commented Apr 3, 2024

Proposal

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

Remove MoneyRequestConfirmationList.js and copy any changes since Nov 27 into MoneyTemporaryForRefactorRequestConfirmationList.js

What is the root cause of that problem?

Remove MoneyRequestConfirmationList.js and replace it with MoneyTemporaryForRefactorRequestConfirmationList while copying any changes since Nov 27

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

Old Component: MoneyRequestConfirmationList
New Component MoneyTemporaryForRefactorRequestConfirmationList

  • Look at the history of the Old Component
  • If there are any changes since Nov 27, 2023 which have not been added to the New Component, copy those changes
  • Replace all uses of the Old Component with the New Component
  • Remove all traces of Old Component

@brunovjk
Copy link
Contributor

brunovjk commented Apr 3, 2024

Proposal

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

This belongs to Wave 5 cleanup
Phase 2 is all about removing the original components and any of the duplicated efforts.

What is the root cause of that problem?

Replace MoneyRequestConfirmationList.tsx to MoneyTemporaryForRefactorRequestConfirmationList.js.

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

MoneyRequestConfirmationList has been migrated to TypeScript, I believe we should wait for MoneyTemporaryForRefactorRequestConfirmationList to also be migrated to continue here.

Look at the history of the Old Component
If there are any changes since Nov 27, 2023 which have not been added to the New Component, copy those changes

  1. From history change: 27/Nov - 04/Apr we can see that most of changes made are related with the typescript migration.

  2. We must add reportActionID in the route: split bill issue fixed is this commit.

Replace all uses of the Old Component with the New Component

  1. We use MoneyRequestConfirmationList at SplitBillDetailsPage. We can replace it with MoneyTemporaryForRefactorRequestConfirmationList.

Remove all traces of Old Component

  1. Remove MoneyRequestConfirmationList rename MoneyTemporaryForRefactorRequestConfirmationList and in all its uses (SCREEN and ROUTE).

Be sure to update all routes and navigation

What alternative solutions did you explore? (Optional)

N/A

@bfitzexpensify
Copy link
Contributor

@bfitzexpensify I might have messed up on the price for this. Can you please confirm for me that the UpWork issue is $250?

Confirmed it's $250

@eh2077
Copy link
Contributor

eh2077 commented Apr 4, 2024

Asked a question in the parent issue #29107

@brunovjk
Copy link
Contributor

brunovjk commented Apr 4, 2024

Proposal

Updated

#29107 (comment): Remove MoneyRequestConfirmationList.js and copy any changes since Nov 27 into MoneyTemporaryForRefactorRequestConfirmationList.js

MoneyRequestConfirmationList has been migrated to TypeScript, so first we need to migrate MoneyTemporaryForRefactorRequestConfirmationList to TS as well.

@eh2077
Copy link
Contributor

eh2077 commented Apr 4, 2024

MoneyRequestConfirmationList has been migrated to TypeScript, so first we need to migrate MoneyTemporaryForRefactorRequestConfirmationList to TS as well.

@brunovjk Thanks for the update. That's a good point.

@tgolen Should we do migrating MoneyTemporaryForRefactorRequestConfirmationList to TS in this task? Or in a separate task just like other TS migration tasks?

@tgolen
Copy link
Contributor Author

tgolen commented Apr 4, 2024

Ah, I would probably avoid doing both the TS migration and the cleanup in the same task (to keep the PR scope smaller). Would it be better to do the TS migration first or second?

@tgolen tgolen changed the title [$250] Remove MoneyRequestConfirmationList.js and copy any changes since Nov 27 into IOURequestStepConfirmation.js [$250] Remove MoneyRequestConfirmationList.js and copy any changes since Nov 27 into MoneyTemporaryForRefactorRequestConfirmationList.js Apr 4, 2024
@tgolen
Copy link
Contributor Author

tgolen commented Apr 4, 2024

Sorry everyone, I confused IOURequestStepConfrimation.js with MoneyTemporaryForRefactorRequestConfirmationList.js.

This issue doesn't need to have anything major done with IOURequestStepConfirmation.js.

This issue should be for replacing MoneyConfirmationList with MoneyTemporaryForRefactorRequestConfirmationList.

@abzokhattab
Copy link
Contributor

Updated my proposal according to the last comment

@brunovjk
Copy link
Contributor

brunovjk commented Apr 5, 2024

Proposal

Updated

  • Added clarification on passing splitTag to MoneyTemporaryForRefactorRequestConfirmationList.

@eh2077
Copy link
Contributor

eh2077 commented Apr 5, 2024

Ah, I would probably avoid doing both the TS migration and the cleanup in the same task (to keep the PR scope smaller). Would it be better to do the TS migration first or second?

Yeah, I agree it's better to do them one by one. I found there's an ongoing PR #37181 to migrate MoneyTemporaryForRefactorRequestConfirmationList.js. I think we can wait for that PR.

Once the TS migration PR is merged, I think we can let @brunovjk to take this task as their proposal first pointed out we should replace MoneyConfirmationList with MoneyTemporaryForRefactorRequestConfirmationList and @brunovjk also started the discussion about TS migration.

@tgolen All yours.

🎀👀🎀 C+ reviewed

Copy link

melvin-bot bot commented Apr 5, 2024

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

@eh2077
Copy link
Contributor

eh2077 commented Apr 21, 2024

@brunovjk Sure. Please tag me when the PR is ready, thank you!

Copy link

melvin-bot bot commented Apr 22, 2024

⚠️ Looks like this issue was linked to a Deploy Blocker here

If you are the assigned CME please investigate whether the linked PR caused a regression and leave a comment with the results.

If a regression has occurred and you are the assigned CM follow the instructions here.

If this regression could have been avoided please consider also proposing a recommendation to the PR checklist so that we can avoid it in the future.

@eh2077
Copy link
Contributor

eh2077 commented Apr 22, 2024

We already have a PR #40659 to fix the DB

@melvin-bot melvin-bot bot added Weekly KSv2 Awaiting Payment Auto-added when associated PR is deployed to production and removed Weekly KSv2 labels Apr 25, 2024
@melvin-bot melvin-bot bot changed the title [$250] Remove MoneyRequestConfirmationList.js and copy any changes since Nov 27 into MoneyTemporaryForRefactorRequestConfirmationList.js [HOLD for payment 2024-05-02] [$250] Remove MoneyRequestConfirmationList.js and copy any changes since Nov 27 into MoneyTemporaryForRefactorRequestConfirmationList.js Apr 25, 2024
@melvin-bot melvin-bot bot removed the Reviewing Has a PR in review label Apr 25, 2024
Copy link

melvin-bot bot commented Apr 25, 2024

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

Copy link

melvin-bot bot commented Apr 25, 2024

The solution for this issue has been 🚀 deployed to production 🚀 in version 1.4.65-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 2024-05-02. 🎊

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

Copy link

melvin-bot bot commented Apr 25, 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:

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

@melvin-bot melvin-bot bot added Reviewing Has a PR in review Weekly KSv2 and removed Weekly KSv2 labels Apr 27, 2024
@melvin-bot melvin-bot bot added Daily KSv2 and removed Weekly KSv2 labels May 1, 2024
@brunovjk
Copy link
Contributor

brunovjk commented May 2, 2024

If no regressions arise, payment will be issued on 2024-05-02. 🎊

@eh2077 Do the issue we fix here after the main PR count as a regression? ty

cc: @bfitzexpensify

@bfitzexpensify
Copy link
Contributor

@brunovjk yes, the solution in this issue caused a regression, so the regression penalty applies.

Payment to @brunovjk complete.

@eh2077, please complete the BZ checklist so I can finalise payment. Thanks!

@eh2077
Copy link
Contributor

eh2077 commented May 4, 2024

BugZero Checklist

  • [@eh2077] The PR that introduced the bug has been identified. Link to the PR: This is not a bug. It's part of refactoring.
  • [@eh2077] 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: N/A
  • [@eh2077] 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
  • [@eh2077] Determine if we should create a regression test for this bug. N/A

@brunovjk
Copy link
Contributor

brunovjk commented May 5, 2024

@bfitzexpensify Could we get an increase in the bounty here? Mainly to cover the regression. Despite being a simple refactoring here, the component is used in several flows, create and edit as well. Excessive testing was done during and after the PR was merged. Thank you 🙏

@eh2077
Copy link
Contributor

eh2077 commented May 5, 2024

To make it easier to evaluate @brunovjk 's request above, I'd like to add on:

Though we conducted many tests in the main PR #40176, we still slipped up a bit. There're two fix PRs after the main PR

Note

The first fix PR was up before the main PR hit staging (means the DB was created later) and was merged shortly when the DB was linked, see #39559 (comment)

Note

The second fix PR was a minor issue that reported by #40176 (comment) (There's no dedicated GH issue created for it)

Edited: Let's defer to the team.

cc @bfitzexpensify @tgolen

@bfitzexpensify
Copy link
Contributor

Will defer this one to you @tgolen - what do you think an appropriate bounty is for this issue?

@tgolen
Copy link
Contributor Author

tgolen commented May 6, 2024

The scope of this issue was pretty large and I am OK authorizing an increase to $500.

@bfitzexpensify
Copy link
Contributor

Thanks!

OK, payment of $500 finalised to @eh2077, and bonus of $375 paid to @brunovjk

Thanks for the work here, everyone!

@brunovjk
Copy link
Contributor

brunovjk commented May 6, 2024

Thank you all! It's always good to contribute to Expensify!!! 🌟

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 External Added to denote the issue can be worked on by a contributor Reviewing Has a PR in review
Projects
None yet
Development

No branches or pull requests

7 participants