Skip to content

[Due for payment 2025-09-19] [Due for payment 2025-08-15] [$250] [EX-50] No "What's your name?" modal if Manage my teams selected #67008

Closed

Description

@lanitochka17

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: 9.1.85-2
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://test-management.browserstack.com/projects/2148171/test-runs/TR-167/39855672/800111115?sort=%2Bidentifier
Email or phone of affected tester (no customers): qaooxx+304@gmail.com
Issue reported by: Applause - Internal Team

Action Performed:

  1. Sign up with a new email address
  2. Skip the “Work email” step
  3. Select the intent: “Manage my team’s expenses”
  4. Proceed with onboarding process

Expected Result:

User should be prompted to input First and Last name

Actual Result:

User is not prompted to input First and Last name

Workaround:

Unknown

Platforms:

Select the officially supported platforms where the issue was reproduced:

  • Android: App
  • Android: mWeb Chrome
  • iOS: App
  • iOS: mWeb Safari
  • iOS: mWeb Chrome
  • Windows: Chrome
  • MacOS: Chrome / Safari
  • MacOS: Desktop
Platforms Tested: On which of our officially supported platforms was this issue tested:
  • Android: App
  • Android: mWeb Chrome
  • iOS: App
  • iOS: mWeb Safari
  • iOS: mWeb Chrome
  • Windows: Chrome
  • MacOS: Chrome / Safari
  • MacOS: Desktop

Screenshots/Videos

Add any screenshot/video evidence
Bug6896749_1753300936974.1_01_PM_2025-07-23.mp4

View all open jobs on GitHub

Upwork Automation - Do Not Edit
  • Upwork Job URL: https://www.upwork.com/jobs/~021949891158079943967
  • Upwork Job ID: 1949891158079943967
  • Last Price Increase: 2025-07-28
  • Automatic offers:
    • samranahm | Contributor | 108220121
Issue OwnerCurrent Issue Owner: @bfitzexpensify

Activity

  1. added
    BugSomething is broken. Auto assigns a BugZero manager.
    on Jul 23, 2025
  2. melvin-bot commented on Jul 23, 2025

    @melvin-bot

    Triggered auto assignment to @bfitzexpensify (Bug), see https://stackoverflow.com/c/expensify/questions/14418 for more details. Please add this bug to a GH project, as outlined in the SO.

  3. samranahm commented on Jul 23, 2025

    @samranahm
    Contributor

    Proposal

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

    No "What's your name?" modal if Manage my teams selected

    What is the root cause of that problem?

    here

    const handleContinue = useCallback(() => {
    if (userReportedIntegration === undefined) {
    setError(translate('onboarding.errorSelection'));
    return;
    }
    setOnboardingUserReportedIntegration(userReportedIntegration);
    // Navigate to the next onboarding step with the selected integration
    Navigation.navigate(ROUTES.ONBOARDING_INTERESTED_FEATURES.getRoute(route.params?.backTo));
    }, [translate, userReportedIntegration, route.params?.backTo]);

    we are navigating to more feature here with out checking if the user already went through BaseOnboardingPersonalDetails or not

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

    we need to check if BaseOnboardingPersonalDetails step is completed in case of private domain with accessible policy where user already enter their name and then navigate the user to ONBOARDING_INTERESTED_FEATURES if not then navigate them to BaseOnboardingPersonalDetails

    here

    if (!isUserFromPublicDomain && hasAccessiblePolicies) {
    return `/${ROUTES.ONBOARDING_PERSONAL_DETAILS.route}`;
    }

    we check if the user if from private domain and has accessible policies so we navigate them to ONBOARDING_PERSONAL_DETAILS

    we can check this same in BaseOnboardingAccounting to find out that user already entered their name.

    const isPrivateDomainAndHasAccessiblePolicies = !account?.isFromPublicDomain && !!account?.hasAccessibleDomainPolicies;
    
    const handleContinue = useCallback(() => {
        if (userReportedIntegration === undefined) {
            setError(translate('onboarding.errorSelection'));
            return;
        }
    
        setOnboardingUserReportedIntegration(userReportedIntegration);
    
        const nextRoute = isPrivateDomainAndHasAccessiblePolicies
            ? ROUTES.ONBOARDING_INTERESTED_FEATURES.getRoute(route.params?.backTo)
            : ROUTES.ONBOARDING_PERSONAL_DETAILS.getRoute(route.params?.backTo);
        Navigation.navigate(nextRoute);
    }, [translate, userReportedIntegration, route.params?.backTo, isPrivateDomainAndHasAccessiblePolicies]);

    What specific scenarios should we cover in automated tests to prevent reintroducing this issue in the future?

    NA

    What alternative solutions did you explore? (Optional)

    For a normal ND flow when user signup and select

    • manage team
    • cohort 1-10
    • Accounting software
    • Personal details

    there will be no logic to navigate the user to InterestedFeatures page from PersonalDetails page after fixing this bug so we should include the check to handle this case in PersonalDetails page

    here

    if (onboardingPurposeSelected === CONST.ONBOARDING_CHOICES.PERSONAL_SPEND || onboardingPurposeSelected === CONST.ONBOARDING_CHOICES.TRACK_WORKSPACE) {
    updateDisplayName(firstName, lastName);
    Navigation.navigate(ROUTES.ONBOARDING_WORKSPACE.getRoute(route.params?.backTo));
    return;
    }

    we should add this check, to navigate the user to ONBOARDING_INTERESTED_FEATURES page from personal details

    if (!isPrivateDomainAndHasAccessiblePolicies && onboardingPurposeSelected === CONST.ONBOARDING_CHOICES.MANAGE_TEAM) {
        Navigation.navigate(ROUTES.ONBOARDING_INTERESTED_FEATURES.getRoute(route.params?.backTo));
        return;
    }
  4. andriferry commented on Jul 24, 2025

    @andriferry

    Proposal

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

    No "What's your name?" modal if Manage my teams selected, it caused once user select Manage my team’s expenses it's gonna be Navigate to manage employee directly. Not setup the Personal Details

    What is the root cause of that problem?

    In this flow the system will be check to navigate routes, Once user select Manage my team’s expenses will be Navigate to onboarding/employees route directly

    if (choice === CONST.ONBOARDING_CHOICES.MANAGE_TEAM) {
    Navigation.navigate(ROUTES.ONBOARDING_EMPLOYEES.getRoute(route.params?.backTo));
    return;
    }

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

    Remove this line

    if (choice === CONST.ONBOARDING_CHOICES.MANAGE_TEAM) {
    Navigation.navigate(ROUTES.ONBOARDING_EMPLOYEES.getRoute(route.params?.backTo));
    return;
    }

    let's the system navigate to personal details

    Navigation.navigate(ROUTES.ONBOARDING_PERSONAL_DETAILS.getRoute(route.params?.backTo));

    And added the conditional for this

    if (onboardingPurposeSelected === CONST.ONBOARDING_CHOICES.MANAGE_TEAM) {
         updateDisplayName( firstName, lastName );
         Navigation.navigate( ROUTES.ONBOARDING_EMPLOYEES.getRoute( route.params?.backTo ) );
         return
    }
    

    in this line

    What specific scenarios should we cover in automated tests to prevent reintroducing this issue in the future?

    N/A

    What alternative solutions did you explore? (Optional)

    N/A

    Result

    Screen.Recording.2025-07-24.at.10.34.10.mp4

    So the flow for OnboardingPurpose will be same to setup First and last name first

  5. added
    ExternalAdded to denote the issue can be worked on by a contributor
    on Jul 28, 2025
  6. melvin-bot commented on Jul 28, 2025

    @melvin-bot
  7. changed the title [-][EX-50] No "What's your name?" modal if Manage my teams selected[/-] [+][$250] [EX-50] No "What's your name?" modal if Manage my teams selected[/+] on Jul 28, 2025
  8. added
    Help WantedApply this label when an issue is open to proposals by contributors
    on Jul 28, 2025
  9. melvin-bot commented on Jul 28, 2025

    @melvin-bot

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

  10. rushatgabhane commented on Jul 28, 2025

    @rushatgabhane
    Member

    first proposal seems good to me #67008 (comment)

    🎀👀🎀

  11. 79 remaining items

  12. bfitzexpensify commented on Sep 23, 2025

    @bfitzexpensify
    Contributor

    Automation failed, switching this to daily to action tomorrow

  13. DylanDylann commented on Sep 25, 2025

    @DylanDylann
    Contributor

    BugZero Checklist:

    • [Contributor] Classify the bug: this is a new change request
    Bug classification

    Source of bug:

    • 1a. Result of the original design (eg. a case wasn't considered)
    • 1b. Mistake during implementation
    • 1c. Backend bug
    • 1z. Other:

    Where bug was reported:

    • 2a. Reported on production (eg. bug slipped through the normal regression and PR testing process on staging)
    • 2b. Reported on staging (eg. found during regression or PR testing)
    • 2d. Reported on a PR
    • 2z. Other:

    Who reported the bug:

    • 3a. Expensify user
    • 3b. Expensify employee
    • 3c. Contributor
    • 3d. QA
    • 3z. Other:
    • [Contributor] 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: this is a new requirement

    • [Contributor] If the regression was CRITICAL (e.g. interrupts a core flow) A discussion in #expensify-open-source 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:

    • [Contributor] If it was decided to create a regression test for the bug, please propose the regression test steps using the template below to ensure the same bug will not reach production again.

    • [BugZero Assignee] Create a GH issue for creating/updating the regression test once above steps have been agreed upon.

      Link to issue:

    Regression Test Proposal

    Test:

    1. Signup with private email that does not have any workspace to join or signup with public email
    2. Choose Manage team
    3. Choose 1-10 members
    4. Choose accounting integration
    5. Press Continue and verify it navigate to interested features page
    6. Press continue and finish the onboarding

    Do we agree 👍 or 👎

  14. bfitzexpensify commented on Sep 25, 2025

    @bfitzexpensify
    Contributor

    Payment summary:

    @samranahm paid $125 via Upwork
    @rushatgabhane due $125 via NewDot manual request
    @DylanDylann due $250 via NewDot manual request

  15. samranahm commented on Sep 25, 2025

    @samranahm
    Contributor

    @bfitzexpensify I haven’t received new offer on Upwork yet.

  16. samranahm commented on Sep 25, 2025

    @samranahm
    Contributor
  17. bfitzexpensify commented on Sep 26, 2025

    @bfitzexpensify
    Contributor
  18. samranahm commented on Sep 26, 2025

    @samranahm
    Contributor

    @bfitzexpensify We had another PR, the original Issue was already paid and closed.

  19. samranahm commented on Sep 26, 2025

    @samranahm
    Contributor

    Please take a look #67008 (comment)

  20. bfitzexpensify commented on Sep 26, 2025

    @bfitzexpensify
    Contributor

    Yes, the follow on PR was to fix the regressions caused by the original PR. We don't pay for a second PR if it was only required because of issues with the first.

  21. garrettmknight commented on Nov 11, 2025

    @garrettmknight
    Contributor

    $250 approved for @DylanDylann

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

Awaiting PaymentAuto-added when associated PR is deployed to productionBugSomething is broken. Auto assigns a BugZero manager.DailyKSv2ExternalAdded to denote the issue can be worked on by a contributor

Type

No type

Projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions