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-04-25] [$500] Workspace - The user can skip validation of the first name field on the Personal info tab #38920

Closed
6 tasks done
izarutskaya opened this issue Mar 25, 2024 · 23 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

@izarutskaya
Copy link

izarutskaya commented Mar 25, 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.56.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: https://expensify.testrail.io/index.php?/tests/view/4445017&group_by=cases:section_id&group_id=283225&group_order=asc
Logs: https://stackoverflow.com/c/expensify/questions/4856
Issue reported by: Applause-Internal Team

Action Performed:

  1. Log in with a new expensifail account
  2. Create a workspace
  3. Navigate to Workspace settings - Bank account - Connect online with Plaid
  4. Choose Regions bank
  5. Continue until legal name is asked
  6. Leave the first name blank and input "Charleson" to the last name
  7. Tap on the "Next" button
  8. Tap on the "back" button
  9. Tap on the "Next" button
  10. Continue the flow until you get the "firstName is invalid or missing" error

Expected Result:

The field should be validated.

Actual Result:

The user can skip validation of the first name field on the Personal info tab. "Bank account can't be created, firstName is invalid or missing" error message appears later in the flow.

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

Bug6424896_1711259142194.XKMK1639.mp4

View all open jobs on GitHub

Upwork Automation - Do Not Edit
  • Upwork Job URL: https://www.upwork.com/jobs/~01c8adbf72aee79603
  • Upwork Job ID: 1774914745105002496
  • Last Price Increase: 2024-04-01
  • Automatic offers:
    • bernhardoj | Contributor | 0
Issue OwnerCurrent Issue Owner: @sobitneupane
@izarutskaya izarutskaya added Daily KSv2 Bug Something is broken. Auto assigns a BugZero manager. labels Mar 25, 2024
Copy link

melvin-bot bot commented Mar 25, 2024

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

@izarutskaya
Copy link
Author

We think this issue might be related to the #collect project.

@bernhardoj
Copy link
Contributor

bernhardoj commented Mar 25, 2024

Proposal

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

The user can skip the legal name form after filling the last name, go back and reconfirm the routing number again.

What is the root cause of that problem?

We have getInitialSubstepForPersonalInfo to decide the sub-step index to show to the user.

function getInitialSubstepForPersonalInfo(data: RequestorStepProps): number {
if (data[personalInfoKeys.FIRST_NAME] === '' && data[personalInfoKeys.LAST_NAME] === '') {
return 0;
}
if (data[personalInfoKeys.DOB] === '') {
return 1;
}

If the first name and last name are empty, we will show the legal name form. However, if we fill in the last name, it will be saved to the draft and we check for both draft and server value

const values = useMemo(() => getSubstepValues(PERSONAL_INFO_STEP_KEYS, reimbursementAccountDraft, reimbursementAccount), [reimbursementAccount, reimbursementAccountDraft]);

and the condition will fail because it needs both fields to be empty.

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

Show the legal name form if one of the first or last names is empty.

if (data[personalInfoKeys.FIRST_NAME] === '' || data[personalInfoKeys.LAST_NAME] === '') {
    return 0;
}

What alternative solutions did you explore? (Optional)

Don't check for the draft data.

const values = useMemo(() => getSubstepValues(PERSONAL_INFO_STEP_KEYS, reimbursementAccountDraft, reimbursementAccount), [reimbursementAccount, reimbursementAccountDraft]);

const values = useMemo(() => getSubstepValues(PERSONAL_INFO_STEP_KEYS, null, reimbursementAccount), [reimbursementAccount, reimbursementAccountDraft]);

OR

Always starts from 0 (the legal name form).

const {componentToRender: SubStep, isEditing, screenIndex, nextScreen, prevScreen, moveTo, goToTheLastStep} = useSubStep({bodyContent, startFrom, onFinished: submit});

@melvin-bot melvin-bot bot added the Overdue label Apr 1, 2024
@johncschuster johncschuster added the External Added to denote the issue can be worked on by a contributor label Apr 1, 2024
Copy link

melvin-bot bot commented Apr 1, 2024

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

@melvin-bot melvin-bot bot changed the title Workspace - The user can skip validation of the first name field on the Personal info tab [$500] Workspace - The user can skip validation of the first name field on the Personal info tab Apr 1, 2024
@melvin-bot melvin-bot bot added the Help Wanted Apply this label when an issue is open to proposals by contributors label Apr 1, 2024
Copy link

melvin-bot bot commented Apr 1, 2024

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

@melvin-bot melvin-bot bot removed the Overdue label Apr 1, 2024
@johncschuster
Copy link
Contributor

I'm not sure how this fits into any of our existing initiatives, but this feels like either an oversight or a regression if the user can skip ahead of entering their first name in the form.

@sobitneupane
Copy link
Contributor

Thanks for the proposal @bernhardoj.

Proposal from @bernhardoj looks good to me.

🎀 👀 🎀 C+ reviewed

Copy link

melvin-bot bot commented Apr 2, 2024

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

Copy link

melvin-bot bot commented Apr 5, 2024

@johncschuster, @sobitneupane, @grgia Uh oh! This issue is overdue by 2 days. Don't forget to update your issues!

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

melvin-bot bot commented Apr 5, 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 removed the Overdue label Apr 5, 2024
@melvin-bot melvin-bot bot added Reviewing Has a PR in review Weekly KSv2 and removed Daily KSv2 labels Apr 6, 2024
@bernhardoj
Copy link
Contributor

PR is ready

cc: @sobitneupane

@melvin-bot melvin-bot bot removed the Weekly KSv2 label Apr 18, 2024
@melvin-bot melvin-bot bot added Weekly KSv2 Awaiting Payment Auto-added when associated PR is deployed to production labels Apr 18, 2024
@melvin-bot melvin-bot bot changed the title [$500] Workspace - The user can skip validation of the first name field on the Personal info tab [HOLD for payment 2024-04-25] [$500] Workspace - The user can skip validation of the first name field on the Personal info tab Apr 18, 2024
@melvin-bot melvin-bot bot removed the Reviewing Has a PR in review label Apr 18, 2024
Copy link

melvin-bot bot commented Apr 18, 2024

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

Copy link

melvin-bot bot commented Apr 18, 2024

The solution for this issue has been 🚀 deployed to production 🚀 in version 1.4.62-17 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-04-25. 🎊

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

Copy link

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

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

@melvin-bot melvin-bot bot added Daily KSv2 Overdue and removed Weekly KSv2 labels Apr 24, 2024
@johncschuster
Copy link
Contributor

Payment Summary:

@sobitneupane - $500 - via NewDot Manual Requests
@bernhardoj - $500 - PAID via Upwork (Contributor)

@melvin-bot melvin-bot bot removed the Overdue label Apr 26, 2024
@johncschuster
Copy link
Contributor

@sobitneupane, can you complete the BZ Checklist above? Thank you!

@melvin-bot melvin-bot bot added the Overdue label Apr 29, 2024
Copy link

melvin-bot bot commented Apr 30, 2024

@johncschuster, @sobitneupane, @grgia, @bernhardoj Uh oh! This issue is overdue by 2 days. Don't forget to update your issues!

@johncschuster
Copy link
Contributor

Waiting on the BZ Checklist to be completed 👍

Copy link

melvin-bot bot commented May 2, 2024

@johncschuster, @sobitneupane, @grgia, @bernhardoj Eep! 4 days overdue now. Issues have feelings too...

@sobitneupane sobitneupane mentioned this issue May 7, 2024
47 tasks
@sobitneupane
Copy link
Contributor

sobitneupane commented May 7, 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:

  • [@sobitneupane] The PR that introduced the bug has been identified. Link to the PR:

#31121

  • [@sobitneupane] 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:

#31121 (comment)

  • [@sobitneupane] 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:
  • [@sobitneupane] Determine if we should create a regression test for this bug.

Yes.

  • [@sobitneupane] 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.

#38920 (comment)

@melvin-bot melvin-bot bot removed the Overdue label May 7, 2024
@sobitneupane
Copy link
Contributor

Regression Test Proposal

  1. Open Settings > Workspaces > Select any workspace > Bank account
  2. Connect manually
  3. Complete the routing and bank account number step
  4. Fill the last name but leave first name empty
  5. Go back
  6. Go next again and confirm the routing and bank account number again
  7. Verify you are navigated to the first and last name step

@sobitneupane
Copy link
Contributor

Requested payment in newDot.
#38920 (comment)

@JmillsExpensify
Copy link

$500 approved for @sobitneupane

@melvin-bot melvin-bot bot added the Overdue label May 12, 2024
@grgia grgia closed this as completed May 13, 2024
@melvin-bot melvin-bot bot removed the Overdue label May 13, 2024
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
Archived in project
Development

No branches or pull requests

6 participants