[HybridApp] Migrate to NewDot sign-in page#67996
Conversation
|
|
…rate-hybrid-app-to-new-dot-sign-in-page # Conflicts: # src/libs/HybridApp.ts
|
I found one issue today related to #67920 Navigation is fixed, but app crashes due to I'm already investigating the issue and trying to fix this. |
|
🚧 @Julesssss has triggered a test Expensify/App build. You can view the workflow run here. |
This comment has been minimized.
This comment has been minimized.
|
Testing well so far 👍 |
|
Hi @Julesssss, after merge of the latest main, issues I mentioned are not reproducible. We can proceed further with this PR. |
|
🚧 @mountiny has triggered a test Expensify/App build. You can view the workflow run here. |
This comment was marked as outdated.
This comment was marked as outdated.
|
That's strange 🤔 I'm still able to reproduce the issue but only on the adhoc build |
|
May be related to this slack thread |
This comment was marked as outdated.
This comment was marked as outdated.
|
🚧 @Julesssss has triggered a test Expensify/App build. You can view the workflow run here. |
|
🧪🧪 Use the links below to test this adhoc build on Android, iOS, Desktop, and Web. Happy testing! 🧪🧪
|
Feature working nicely on both platforms, lets get it merged 🤩 |
|
✋ This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release. |
|
🚀 Deployed to staging by https://github.com/Julesssss in version: 9.1.99-0 🚀
|
|
@war-in Is the PR valid to be checked on Web?
We have performed those steps, but we end up in OD sign-in page bandicam.2025-08-27.14-46-58-063.1.mp4 |
|
@IuliiaHerets I don't think this PR should be checked on web Sorry for missing that in the QA steps section 😕 |
|
🚀 Deployed to production by https://github.com/thienlnam in version: 9.1.99-11 🚀
|
Explanation of Change
Another attempt to use NewDot SignInPage in HybridApp, previous PR: #65178. To be tested on iOS and Android only
Fixed Issues
$ #67949
$ #67848
$ #67949
MOBILE-EXPENSIFY: https://github.com/Expensify/Mobile-Expensify/pull/13646
Tests
Base information to every flow:
The flow is based on NVP
tryNewDotvalue, we have two possible scenarios to test:tryNewDotis properly setdismissed==false)Switch to Expensify Classicbuttondismissed==true)tryNewDotisundefined. This state can be achieved by having old classic account or manually settingawait NVP.set("tryNewDot", undefined);in Expenisfy classic on web.Open app
2. Try to log in using preset account described above and any flow
3. Verify that you user is moved straight to OD and
Try New Expensifybutton is no visible4. Log out
5. Verify that you end up in ND sign in page and the transition is seamless (no bootsplash and no white screen)
Main flow:
Main flow new Account:
SAML Magic code
Use magic codeSAML single sign on
single sign-onGoogle sign-in / Apple sign-in:
2FA:
tryNewDotcan transition between OD and ND.App upgrade test (verify that user is not signed out when updating the app version from old sign in page to this one)
FOR C+s: You can build app from main (both repositories) and then switch to both branches of SignInPage PR.
QA: For this test you must install these older AdHoc builds first, then:
2.3 Reopen the app while being on NewDot, you should stay signed-in and app should be usable
2.4 Go to OldDot (Settings -> Switch to Expensify Classic)
2.5 Restart the app while being on OldDot, you should stay signed-in and app should be usable
2.6 Sign out (Both sign-out from NewDot and OldDot app should be tested as separate scenarios)
2.7 Repeat 2.1-2.5
Offline tests
QA Steps
Base information to every flow:
The flow is based on NVP
tryNewDotvalue, we have two possible scenarios to test:tryNewDotis properly setdismissed==false)Switch to Expensify Classicbuttondismissed==true)tryNewDotisundefined. This state can be achieved by having old classic account or manually settingawait NVP.set("tryNewDot", undefined);in Expenisfy classic on web.Try New Expensifybutton is no visibleMain flow:
Main flow new Account:
SAML Magic code
Use magic codeSAML single sign on
single sign-onGoogle sign-in Apple sign-in:
Both flows have different implementation depending on OS and need to be tested exhaustively
Verify that no errors or Growls appear.
2FA:
Travel, OD <-> ND switch etc
Verify that:
tryNewDotcan transition between OD and ND.App upgrade test (verify that user is not signed out when updating the app version from old sign in page to this one)
FOR QAs: If you work on adhoc builds you can try to use adhoc from other PR and then install adhoc build from this PR to simulate app version update.
2.3 Restart the app while being on NewDot, you should stay signed-in and app should be usable
2.4 Go to OldDot (Settings -> Switch to Expensify Classic)
2.5 Restart the app while being on OldDot, you should stay signed-in and app should be usable
2.6 Sign out (Both sign-out from NewDot and OldDot app should be tested as separate scenarios)
2.7 Repeat 2.1-2.5
PR Author Checklist
### Fixed Issuessection aboveTestssectionOffline stepssectionQA stepssectioncanBeMissingparam foruseOnyxtoggleReportand notonIconClick)src/languages/*files and using the translation methodSTYLE.md) were followedAvatar, I verified the components usingAvatarare working as expected)StyleUtils.getBackgroundAndBorderStyle(theme.componentBG))Avataris modified, I verified thatAvataris working as expected in all cases)Designlabel and/or tagged@Expensify/designso the design team can review the changes.ScrollViewcomponent to make it scrollable when more elements are added to the page.mainbranch was merged into this PR after a review, I tested again and verified the outcome was still expected according to theTeststeps.Screenshots/Videos
Android: Native
Android: mWeb Chrome
iOS: Native
iOS: mWeb Safari
MacOS: Chrome / Safari
MacOS: Desktop