App icon indicating copy to clipboard operation
App copied to clipboard

[$250] Login - Nothing happens when clicking Use single sign-on when logging in via public room

Open jponikarchuk opened this issue 4 months ago โ€ข 65 comments

If you havenโ€™t already, check out our contributing guidelines for onboarding and email [email protected] to request to join our Slack channel!


Version Number: 9.1.99-5 Reproducible in staging?: Yes Reproducible in production?: Yes If this was caught during regression testing, add the test name, ID and link from TestRail: https://github.com/Expensify/App/pull/67996 Email or phone of affected tester (no customers): [email protected] Issue reported by: Applause Internal Team Device used: Mac 15.5 / Chrome App Component: Other

Action Performed:

Precondition:

  • Enable SAML login for applause.expensifail.com domain.
  • User is not logged in to Expensify.
  1. Open public room link via deep link - https://staging.new.expensify.com/r/45330198396915
  2. Click Sign in.
  3. Enter [email protected]
  4. Click Continue.
  5. Click Use single sign-on.

Expected Result:

Portal web view will open.

Actual Result:

Nothing happens when clicking Use single sign-on when logging in via public room.

Workaround:

Unknown

Platforms:

  • [x] Android: App
  • [x] Android: mWeb Chrome
  • [x] iOS: App
  • [x] iOS: mWeb Safari
  • [x] iOS: mWeb Chrome
  • [x] Windows: Chrome
  • [x] MacOS: Chrome / Safari
  • [ ] MacOS: Desktop

Screenshots/Videos

https://github.com/user-attachments/assets/2a447f23-3a40-4da5-bbf3-cc9c7cbcc551

View all open jobs on GitHub

Upwork Automation - Do Not Edit
  • Upwork Job URL: https://www.upwork.com/jobs/~021960948244225822855
  • Upwork Job ID: 1960948244225822855
  • Last Price Increase: 2025-12-25
Issue OwnerCurrent Issue Owner: @abdulrahuman5196

jponikarchuk avatar Aug 27 '25 12:08 jponikarchuk

Triggered auto assignment to @VictoriaExpensify (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.

melvin-bot[bot] avatar Aug 27 '25 12:08 melvin-bot[bot]

Proposal

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

Clicking Use single sign-on when logging in via a public room does nothing.

What is the root cause of that problem?

The SAMLSignInPage is only declared in PublicScreens, not in AuthScreens.
As a result, when we click Use single sign-on, no navigator is available to handle the Navigation.navigate(ROUTES.SAML_SIGN_IN) action, so nothing happens.

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

We should declare the SAMLSignInPage in AuthScreens as well:

<RootStack.Screen
    name={SCREENS.SAML_SIGN_IN}
    component={SAMLSignInPage}
/>

Improvement:
We can also update the navigation logic here to dismiss the modal before navigating to the SAML sign-in page.

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

thelullabyy avatar Aug 27 '25 20:08 thelullabyy

Yeah let's fix that one!

VictoriaExpensify avatar Aug 28 '25 06:08 VictoriaExpensify

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

melvin-bot[bot] avatar Aug 28 '25 06:08 melvin-bot[bot]

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

melvin-bot[bot] avatar Aug 28 '25 06:08 melvin-bot[bot]

Problem

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

When users access public room deep links and attempt to log in using SAML SSO, clicking the "Use single sign-on" button does nothing. The button appears but is non-functional in this specific context.

What is the root cause of that problem?

/src/pages/signin/SAMLSignInPage/index.tsxLines: 15-18

  if (!credentials?.login) {
      handleSAMLLoginError(translate('common.error.email'), true);
      return;
  }

The SAML sign-in page requires credentials?.login to be populated before proceeding. When accessing via public room deep links, users bypass the initial login form where this credential would normally be set, causing the SAML flow to fail immediately.

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

/src/pages/signin/ChooseSSOOrMagicCode.tsxLines: 55-57

Modify the SSO button handler to check for missing credentials and handle the public room access case:

  onPress={() => {
      if (!credentials?.login) {
          // For public room deep link access, prompt for email first
          setIsUsingMagicCode(true);
          return;
      }
      Navigation.navigate(ROUTES.SAML_SIGN_IN);
  }}

muhammad-ali-abbasi avatar Aug 28 '25 12:08 muhammad-ali-abbasi

๐Ÿ“ฃ It's been a week! Do we have any satisfactory proposals yet? Do we need to adjust the bounty for this issue? ๐Ÿ’ธ

melvin-bot[bot] avatar Sep 04 '25 16:09 melvin-bot[bot]

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

melvin-bot[bot] avatar Sep 04 '25 22:09 melvin-bot[bot]

Hi, Checking now

abdulrahuman5196 avatar Sep 08 '25 16:09 abdulrahuman5196

@thelullabyy @VictoriaExpensify How do I test this issue itself first? Since the issue is said to be repro on expensifail domain? Any other way to repro this?

abdulrahuman5196 avatar Sep 09 '25 07:09 abdulrahuman5196

@abdulrahuman5196 I mocked the data so that the Use single sign-on button is shown

thelullabyy avatar Sep 09 '25 07:09 thelullabyy

๐Ÿ“ฃ It's been a week! Do we have any satisfactory proposals yet? Do we need to adjust the bounty for this issue? ๐Ÿ’ธ

melvin-bot[bot] avatar Sep 11 '25 16:09 melvin-bot[bot]

@abdulrahuman5196 Could you check my comment?

thelullabyy avatar Sep 12 '25 11:09 thelullabyy

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

melvin-bot[bot] avatar Sep 12 '25 23:09 melvin-bot[bot]

@abdulrahuman5196 I mocked the data so that the Use single sign-on button is shown

I am not sure if mocking is the right path to choose the proposal, anyways during PR we have to test it. Let me check with BZ

abdulrahuman5196 avatar Sep 15 '25 17:09 abdulrahuman5196

@thelullabyy @VictoriaExpensify How do I test this issue itself first? Since the issue is said to be repro on expensifail domain? Any other way to repro this?

Gentle ping on the above @VictoriaExpensify Any way we could use this feature?

abdulrahuman5196 avatar Sep 15 '25 17:09 abdulrahuman5196

๐Ÿ“ฃ It's been a week! Do we have any satisfactory proposals yet? Do we need to adjust the bounty for this issue? ๐Ÿ’ธ

melvin-bot[bot] avatar Sep 18 '25 16:09 melvin-bot[bot]

@thelullabyy @VictoriaExpensify How do I test this issue itself first? Since the issue is said to be repro on expensifail domain? Any other way to repro this?

Gentle ping on the above @VictoriaExpensify Any way we could use this feature?

abdulrahuman5196 avatar Sep 21 '25 18:09 abdulrahuman5196

@abdulrahuman5196 @VictoriaExpensify this issue is now 4 weeks old, please consider:

  • Finding a contributor to fix the bug
  • Closing the issue if BZ has been unable to add the issue to a VIP or Wave project
  • If you have any questions, don't hesitate to start a discussion in #expensify-open-source

Thanks!

melvin-bot[bot] avatar Sep 24 '25 21:09 melvin-bot[bot]

@abdulrahuman5196 Whoops! This issue is 2 days overdue. Let's get this updated quick!

melvin-bot[bot] avatar Sep 24 '25 22:09 melvin-bot[bot]

๐Ÿ“ฃ It's been a week! Do we have any satisfactory proposals yet? Do we need to adjust the bounty for this issue? ๐Ÿ’ธ

melvin-bot[bot] avatar Sep 25 '25 16:09 melvin-bot[bot]

Asking for another BZ assignment in the channel, since Victoria is OOO

abdulrahuman5196 avatar Sep 25 '25 17:09 abdulrahuman5196

@abdulrahuman5196 Huh... This is 4 days overdue. Who can take care of this?

melvin-bot[bot] avatar Sep 30 '25 22:09 melvin-bot[bot]

Hey! Sorry for missing your pings - let me see what we can do. Starring this to myself so I don't lose sight of it

VictoriaExpensify avatar Oct 01 '25 06:10 VictoriaExpensify

Hmm interesting. So, if this is only reproducible on the Expensifail, I don't know that it's worth prioritising. @abdulrahuman5196 can you see if you're able to repro it on your normal test email?

VictoriaExpensify avatar Oct 01 '25 06:10 VictoriaExpensify

I am not sure if I can or how to create an account which has Single sign-on access.

@VictoriaExpensify

abdulrahuman5196 avatar Oct 01 '25 19:10 abdulrahuman5196

๐Ÿ“ฃ It's been a week! Do we have any satisfactory proposals yet? Do we need to adjust the bounty for this issue? ๐Ÿ’ธ

melvin-bot[bot] avatar Oct 02 '25 16:10 melvin-bot[bot]

@VictoriaExpensify Could you share the account we should use for testing? I've tried with [email protected] but there is no sign-on button as observed in OP:

https://github.com/user-attachments/assets/6a6e5910-9608-43b1-9510-9ebfcb3d3798

thelullabyy avatar Oct 07 '25 18:10 thelullabyy

๐Ÿ“ฃ It's been a week! Do we have any satisfactory proposals yet? Do we need to adjust the bounty for this issue? ๐Ÿ’ธ

melvin-bot[bot] avatar Oct 09 '25 16:10 melvin-bot[bot]

@abdulrahuman5196 You can use [email protected] to test this issue

thelullabyy avatar Oct 09 '25 17:10 thelullabyy