Fix back navigation from Workspace Search results - #100387
carlosmiceli merged 16 commits into
Conversation
|
@marufsharifi 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] |
Codecov Report❌ Looks like you've decreased code coverage for some files. Please write tests to increase, or at least maintain, the existing level of code coverage. See our documentation here for how to interpret this table.
|
Reviewer Checklist
Screenshots/VideosAndroid: HybridAppScreen.Recording.2026-09-04.at.5.51.32.PM.movAndroid: mWeb ChromeRecording_20260904_174109.mp4iOS: HybridAppScreen.Recording.2026-09-04.at.6.00.56.PM.moviOS: mWeb SafariScreen.Recording.2026-09-04.at.6.06.07.PM.movMacOS: Chrome / SafariScreen.Recording.2026-09-04.at.5.39.54.PM.mov |
|
@marufsharifi I addressed the comments please review again, thanks. |
|
@marufsharifi, Can you please review this when you get a chance, thanks. |
|
@marufsharifi All comments have been addressed. Could you please review the PR again? Thanks! |
|
@nabi-ebrahimi there are conflicts 🙇 |
Done, thanks 🫡 |
|
🚧 carlosmiceli 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/carlosmiceli in version: 9.4.77-0 🚀
|
|
🤖 No help site changes are required for this PR. I did not create a docs PR. Why: This PR changes navigation-stack internals only. On narrow layouts, opening a Workspace subpage from Search no longer inserts the Workspace menu beneath the destination, so Back returns to where Search was launched. That restores the expected Back behavior — it adds no feature, setting, label, tab, or button, and changes nothing a user must be told how to do differently. What I checkedThe diff: every change is in the navigation layer plus tests.
The help site: I searched
The help site documents what a feature does, not the navigation stack behind it. There is no existing sentence made wrong by this fix and no new capability to write up. If you'd rather have an article that walks through reaching Workspace settings from Search, tell me and I'll draft one — that would be new content, not a correction this PR forces. @nabi-ebrahimi, please review the linked help site PR and confirm it reflects the current behavior. Then mark the linked help site PR (No help site PR was created, since no article needed changing. If you disagree, reply with what should be documented and I'll open one.) view run · no recording available |
|
🚀 Deployed to production by https://github.com/luacmartins in version: 9.4.77-4 🚀
Bundle Size Analysis (Sentry): |
Explanation of Change
On narrow layouts, opening a Workspace subpage from Search inserted the Workspace menu beneath the destination in the navigation stack. Consequently, Back opened the Workspace menu instead of returning to the page where Search was launched.
This change allows Workspace Search navigation to skip that intermediate sidebar route. The option is explicitly enabled only by the narrow-layout Workspace Search helper and is consumed by the split router during navigation.
Normal Workspace navigation and other split navigators retain their existing behavior.
Fixed Issues
$ #100369
PROPOSAL:
Tests
Overview.Members,Workflows, and another available Workspace subpage.Offline tests
Same as Tests.
QA Steps
Same as Tests.
// TODO: These must be filled out, or the issue title must include "[No QA]."
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-native-fix.mov
Android: mWeb Chrome
android-web.mov
iOS: Native
ios-native-fix.mov
iOS: mWeb Safari
ios-web.mov
MacOS: Chrome / Safari
macos-web.mov