Send hybridAppSettings via native method#65442
Conversation
|
|
|
@Julesssss the test is working fine for me locally. The fail may be cache-related |
|
🚧 @Julesssss has triggered a test Expensify/App build. You can view the workflow run here. |
Julesssss
left a comment
There was a problem hiding this comment.
Looking good as far as i can tell. Creating builds for further testing. As for the test failure retrying didn't help, could you re-merge main again tomorrow? Hopefully it was an issue introduced just after your last merge 🤞
I created a specific issue to help us track these improvements here.
This comment has been minimized.
This comment has been minimized.
Julesssss
left a comment
There was a problem hiding this comment.
Tests 1-3 working well for me, I used AdHoc so didn't verify metro test
Reviewer Checklist
|
|
Let's not merge this one yet 🙏 Together with @mateuuszzzzz, we learned that we should not store hybridAppSettings each time we run Personally, I'd wait with C+ testing until we push the OD commit (most likely tomorrow) |
|
🚧 @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! 🧪🧪
|
|
Hi @fedirjh AdHoc builds are ready for testing and checklist 👍 |
Julesssss
left a comment
There was a problem hiding this comment.
Approved, Mobile-Expensify changes already 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.81-0 🚀
|
|
🚀 Deployed to production by https://github.com/luacmartins in version: 9.1.81-7 🚀
|







Explanation of Change
Part of the new HybridApp SignInPage. We're moving some code outside of the main PR to keep it as small as possible
We no longer want to send
hybridAppSettingsthrough initial props because it caused unwanted rerenders when clickingrin metro (initialisation happened twice and new sign-in page logic was broken)Now, we expose
getHybridAppSettingsmethod in HybridAppModule, which sends us settings once per ND lifetimeFixed Issues
$ #65684
MOBILE-EXPENSIFY: https://github.com/Expensify/Mobile-Expensify/pull/13614
Tests
rin metro reloads app without unnecessary initialization[HybridApp]getHybridAppSettingscalled more than once during single NewDot lifecycle. Skipping initialization.is printed in consoleOffline tests
QA Steps
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
Test 1 - copilot
Screen.Recording.Jul.08.2025.from.Marcin.Warchol.mp4
Tests 2 & 3 - sign-in sign-out
Screen.Recording.Jul.08.2025.from.Marcin.Warchol.1.mp4
Screen.Recording.Jul.8.2025.from.Marcin.Warchol.mp4
Test 4 - console
android.-.console.mov
Android: mWeb Chrome
iOS: Native
Test 1 - copilot
ios.-.copilot.mov
Tests 2 & 3 - sign-in sign-out
ios.-.sign.in.mov
Test 4 - console
terminal.-.ios.mov
iOS: mWeb Safari
MacOS: Chrome / Safari
MacOS: Desktop