Repository navigation
Preserve iOS workspace search across detail navigation - #9883
azooz2003-bit wants to merge 2 commits into
Conversation
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: ASSERTIVE Plan: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
5a88bd0 to
c4704c0
Compare
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes using default effort and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Want higher recall? High effort reviews run extra passes and find more bugs. A team admin can switch effort levels in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit c4704c0. Configure here.
|
|
||
| private func workspaceSearchTabContent(canCreateWorkspaceForSelection: Bool) -> some View { | ||
| workspaceActionToastOverlay { | ||
| NavigationStack { |
There was a problem hiding this comment.
Stale search stack after tab leave
Medium Severity
Leaving the Search tab clears notificationSearchNavigationPath but not the new workspaceSearchNavigationPath or restoreSearchOnDetailReturn. A deeplink or other tab transition while a search-owned detail is open leaves that stack mounted, so returning to Search can show a stale detail, compact-stack selection sync stays blocked by the empty-path guard, and a later pop can incorrectly re-present Search.
Additional Locations (2)
Reviewed by Cursor Bugbot for commit c4704c0. Configure here.
|
Closed at the author’s request; this search-state work is being discarded. |


Keep workspace-detail pushes inside the active Search tab navigation stack. Returning with Back or an edge swipe reopens the same search presentation, query, keyboard focus, filtered list, and retained list position.
The first commit adds the behavior-level XCUITest. The second implements the navigation ownership fix.
Stacked on #9859 so the verified toolbar checkpoint remains intact.
Need help on this PR? Tag
@codesmith-botwith what you need. Autofix is disabled.Note
Medium Risk
Changes iOS primary-tab navigation ownership for search-to-workspace flows; behavior is covered by an expanded UI test but touches compact-stack coordination and search coordinator presentation.
Overview
Workspace detail from Search now pushes inside the Search tab’s navigation stack instead of switching to the Workspaces tab and deferring navigation.
selectWorkspaceFromSearchsetsworkspaceSearchNavigationPathand records whether expanded search was active so Back or swipe-back can callrestoreWorkspaceSearchPresentationIfNeeded()and reopen search viaprimarySearchCoordinator.setPresentation(true).The Search tab
NavigationStackgainsnavigationDestinationfor workspace IDs (custom back button, swipe-back enabler) and hides the root toolbar while detail is shown. Compact-stack selection sync skips updatingcompactNavigationPathwhile a search-stack detail is open.The DEBUG list preview fixture mirrors the same pattern (
searchFixtureRoute, sharedfixtureWorkspaceDetail) and drops the old pending-route / tab-hop consumption logic.XCUITest
testWorkspaceSearchRestoresPresentationQueryAndResultsAfterWorkspaceDetailAndRefreshnow asserts expanded search field, preserved query, keyboard focus, filtered rows, and stability after preview refresh—not only minimized search chrome.Reviewed by Cursor Bugbot for commit c4704c0. Bugbot is set up for automated code reviews on this repo. Configure here.