Reintroduce "Improve HybridApp initialProps"#63588
Conversation
This reverts commit f7a01f3.
cleanup the code
|
🚧 @mountiny has triggered a test Expensify/App build. You can view the workflow run here. |
This comment has been minimized.
This comment has been minimized.
|
@allgandalf Please copy/paste the Reviewer Checklist from here into a new comment on this PR and complete it. If you have the K2 extension, you can simply click: [this button] |
|
🚧 @mountiny has triggered a test Expensify/App build. You can view the workflow run here. |
Reviewer Checklist
Screenshots/VideosAndroid: HybridAppScreen.Recording.2025-06-08.at.9.27.35.PM.movAndroid: mWeb ChromeiOS: HybridAppScreenRecording_06-08-2025.21-13-28_1.MP4ScreenRecording_06-08-2025.21-11-50_1.MP4iOS: mWeb SafariMacOS: Chrome / SafariMacOS: Desktop |
|
🧪🧪 Use the links below to test this adhoc build on Android, iOS, Desktop, and Web. Happy testing! 🧪🧪
|
allgandalf
left a comment
There was a problem hiding this comment.
Lets merge this with:
|
hmmm, wait a minute: On android. if i kill the app and try opening a shortcut via long tap, it doesn't take me to the intended shortcut: Note: you need to kill the app completely to see this, also this bug is not reproducible for iOS, its android only: Screen.Recording.2025-06-08.at.9.23.54.PM.mov |
|
@allgandalf thanks for noticing! I must have broken this in a few last commits 👀 |
|
Hmm interesting, it seems to work fine on debug builds but not on release 😅 |
|
maybe because the adhoc didn’t take into account the mobile app PR? |
I did a local release build so I don't think it's the case 🤔 |
|
@allgandalf it should be fixed in https://github.com/Expensify/Mobile-Expensify/pull/13589/commits/fd1bb23d71f60baedadc9f5288947623f49a9820 Thanks for noticing 🙏 |
|
@mateuuszzzzz waiting for your review and we're merging this |
|
@allgandalf did you retest the latest commit? |
|
Yeah! I tested on local build and it worked as expected, but if you want me to test on a release, then please re-run the adhoc build and i would be happy to test on that one as well 😄 |
|
✋ 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/mjasikowski in version: 9.1.64-0 🚀
|
|
Coming from #63987 (review) (linked above) - fixing a deploy blocker here - can we get some extra eyes on it before merging? Thank you! |
|
🚀 Deployed to production by https://github.com/Julesssss in version: 9.1.64-5 🚀
|
Explanation of Change
Reverts #63166
This PR moves the HybridApp sign-in logic from
InitialURLContextProviderto a separate component.We also no longer send
urlupdates (deeplinks, shortcuts) in the App initial properties but use React Native Linking module to do so. That way, we can remove an OD patch and split the logicFixed Issues
$ #62857
PROPOSAL:
MOBILE-EXPENSIFY: https://github.com/Expensify/Mobile-Expensify/pull/13589
Tests
We need to test every flow that opens the app
Shortcuts
Deeplinks
Notifications
Inbox(or the previous screen when in the background)Offline tests
QA Steps
We need to test every flow that opens the app
Shortcuts
Deeplinks
Notifications
Inbox(or the previous screen when in the background)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
init.prosp.-.android.mov
Android: mWeb Chrome
init.props.-.android.web.mov
iOS: Native
ios.native.mov
iOS: mWeb Safari
ios.web.mov
MacOS: Chrome / Safari
init.props.-.web.mov
MacOS: Desktop
init.props.-.desktop.mov