Repository navigation
Let the base path decide the contact methods RHP background - #100292
Conversation
DYNAMIC_CONTACT_METHODS was pinned to the profile root in SETTINGS_TO_RHP, so getMatchingFullScreenRoute resolved Account > Profile from the relations before it reached the dynamic base-path branch. Opening the contact methods RHP from anywhere else swapped the background tab to Account > Profile. That swap also left the URL base out of sync with the params stored on the contact methods route, so goBack from the contact method details page replaced the route instead of popping it and the modal took two back presses to close. CONTACT_METHODS declares entryScreens: ['*'], so leaving it out of the relations lets the base path decide, the same way DYNAMIC_IMPORTED_MEMBERS_ROLE is left out of WORKSPACE_TO_RHP.
|
@mukhrr tip to assign correct C+ if they were not assigned in follow up issue for some reason: Put original issue at the end: |
Reviewer Checklist
Screenshots/VideosAndroid: HybridAppAndroid: mWeb ChromeiOS: HybridAppiOS: mWeb SafariMacOS: Chrome / Safarichrome.mp4 |
|
✋ This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release. |
|
🚧 roryabraham 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, and Web. Happy testing! 🧪🧪
|
|
🚀 Deployed to staging by https://github.com/roryabraham in version: 9.4.75-0 🚀
|
|
🤖 No help site changes are required for this PR. This PR removes one entry ( Why no article needs an updateWhat changed: a single deletion in What the help site documents about contact methods:
What this PR actually fixes: which background screen sits behind the panel, and the number of back presses needed to close it. No article describes either, and no article should — the help site documents feature names, settings labels, and steps, not modal stacking or back-press counts. No copy, label, tab name, or setting name changed, so there is nothing to re-verify against the live UI. I did not create a draft help site PR, because there is nothing to change. If you disagree — for example, if you consider this part of a broader contact methods behavior change worth documenting — reply with @mukhrr, please confirm this assessment. No help site PR was created, so there is nothing to mark |
|
Deploy Blocker #100765 was identified to be related to this PR. |
|
🚀 Deployed to production by https://github.com/mountiny in version: 9.4.75-3 🚀
Bundle Size Analysis (Sentry): |
|
🚀 Deployed to production by https://github.com/mountiny in version: 9.4.75-3 🚀
Bundle Size Analysis (Sentry): |
Explanation of Change
DYNAMIC_CONTACT_METHODSwas pinned toSETTINGS.PROFILE.ROOTinSETTINGS_TO_RHP, sogetMatchingFullScreenRouteresolved Account > Profile before it reached the dynamic base-path branch and the background tab swapped away from wherever the RHP was opened. The same swap left the URL base out of sync with the params stored on the route, sogoBackfrom the contact method details page replaced the list instead of popping it and the modal took two back presses to close.CONTACT_METHODSdeclaresentryScreens: ['*'], so dropping it from the relations lets the base path decide, the same wayDYNAMIC_IMPORTED_MEMBERS_ROLEis left out ofWORKSPACE_TO_RHP.Fixed Issues
$ #100260
PROPOSAL: #100260 (comment)
Tests
Use an account that has no phone number contact method, so the "Add your number" link is rendered, and that has at least one expense without a receipt.
Offline tests
The change only affects which full screen is resolved under the right hand panel, so there is no network surface to it. Going offline before step 1 and repeating the whole flow gives the same result: the background stays on the expense and each back press moves one screen.
QA Steps
Same as tests.
PR Author Checklist
### Fixed Issuessection aboveTestssectionOffline stepssectionQA stepssectionAvatar, I verified the components usingAvatarare working as expected)StyleUtils.getBackgroundAndBorderStyle(theme.componentBG))npm run compress-svg)Avataris modified, I verified thatAvataris working as expected in all cases)Designlabel and/or tagged@Expensify/designso the design team can review the changes.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
REC-20260903172708.mp4