Skip to content

[Due for payment 2025-11-07] Investigate users that can’t dismiss onboarding when 2FA is required to continue onboarding. #70803

Description

@trjExpensify

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: v9.2.13-1
Reproducible in staging?: Y
Reproducible in production?: Y
If this was caught during regression testing, add the test name, ID and link from TestRail: No
Email or phone of affected tester (no customers): deets in slack thread
Logs: https://stackoverflow.com/c/expensify/questions/4856
Expensify/Expensify Issue URL:
Issue reported by: @trjExpensify
Slack conversation (hyperlinked to channel name): #quality

Action Performed:

These are the two paths to investigate deeper.

Domain 2FA required case

  1. Verify a domain on Classic
  2. Make 2FA required in Domains > Domain members
  3. As a new user go to new.expensify.com and sign-up

Xero admin case

  1. As adminA configure Xero on a workspace successfully
  2. As adminA invite a new account as another admin
  3. As adminB go to new.expensify.com and sign-in

Expected Result:

  • 2FA modal appears first. Once completed, onboarding modal appears next if applicable to show.
  • If the 2fa requirement is because of the domain restriction, amend to this part of the copy:

your company requires the use of…

  • If the 2fa requirement is because of the Xero restriction, use the existing copy variation:

your Xero accounting connection requires the use of...

Actual Result:

  • Onboarding modal is appearing overlaid a 2FA required blocking modal. The user can’t complete anything in the onboarding modal to continue.
  • It appears as though the copy always mentions Xero as the reason 2FA is required, despite not being an admin nor connected to Xero

Workaround:

None - user is totally bricked by the onboarding modal.

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

FS and links in Slack thread.

View all open jobs on GitHub

Issue OwnerCurrent Issue Owner: @trjExpensify

Metadata

Metadata

Labels

Awaiting PaymentAuto-added when associated PR is deployed to productionBugSomething is broken. Auto assigns a BugZero manager.InternalRequires API changes or must be handled by Expensify staffWeeklyKSv2

Type

No type

Fields

No fields configured for issues without a type.

Projects

Status
Done

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions