Support CMD+click on search and workspace rows - #91021
Conversation
Codecov Report✅ Changes either increased or maintained existing code coverage, great job!
|
|
@ShridharGoel 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] |
Reviewer Checklist
Screenshots/VideosAndroid: HybridAppAndroid: mWeb ChromeiOS: HybridAppScreen.Recording.2026-05-21.at.3.41.05.AM.moviOS: mWeb SafariMacOS: Chrome / SafariScreen.Recording.2026-05-21.at.3.32.34.AM.movScreen.Recording.2026-05-21.at.3.36.19.AM.mov |
…click-new-tab # Conflicts: # src/components/Search/SearchList/ListItem/TransactionGroupListExpanded.tsx # src/components/Search/index.tsx # src/libs/SearchUIUtils.ts
|
@KJ21-ENG Can you also include some mobile videos while checking that long press and multiple selection related things are working fine there? |
|
🚧 @Beamanator 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! 🧪🧪
|
|
✋ 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/Beamanator in version: 9.3.79-1 🚀
Bundle Size Analysis (Sentry): |
|
Yes, help site changes are needed. PR #91021 adds CMD/Ctrl+click support for opening search results and workspace rows in a new browser tab — this is a new web navigation capability worth documenting. Draft PR created: #91360 Changes made to
Please mark it as "Ready for review" when it is ready for review. |
|
🚀 Deployed to production by https://github.com/roryabraham in version: 9.3.79-4 🚀
|
Explanation of Change
Adds web-only modified-click handling for internal Search result rows and workspace rows. Press handlers now preserve the mouse event, open the same computed route in a new browser tab for CMD/CTRL + primary-click, and keep normal clicks, keyboard activation, mobile/native behavior, inline editing, and selection mode on the existing current-tab flow. Grouped expense headers and expanded child row/View/arrow paths are included.
Ready for review: targeted formatting/lint/type checks, focused Jest coverage, and an independent regression audit are complete. Manual recording is attached for MacOS; native/mobile sections are N/A because the new helper is a native no-op and the user-facing behavior is web modified-click.
Fixed Issues
$ #90951
PROPOSAL: #90951 (comment)
Tests
Targeted checks completed:
npx prettier --experimental-cli --no-cache --write --ignore-unknown <changed files>andgit diff --check./scripts/lint.sh <changed files>npm run typecheck-tsgo(only unrelated existing repo errors remain outside this PR)npm test -- --runTestsByPath tests/ui/BaseListItemTest.tsx tests/unit/TransactionGroupListItemTest.tsx tests/ui/ReportListItemHeaderTest.tsx tests/ui/WorkspaceListPageTest.tsx tests/unit/Search/SearchUIUtilsTest.ts --runInBand --silentIndependent regression audit found no blocking regressions
Verify that no errors appear in the JS console
Offline tests
QA Steps
Same as Tests.
PR Author Checklist
### Fixed Issuessection aboveTestssectionOffline stepssectionQA stepssectiontoggleReportand notonIconClick)src/languages/*files and using the translation methodSTYLE.md) were followedAvatar, I verified the components usingAvatarare working as expected)StyleUtils.getBackgroundAndBorderStyle(theme.componentBG))npm run compress-svg)Designlabel and/or tagged@Expensify/designso the design team can review the changes (N/A - no visual design changes).ScrollViewcomponent to make it scrollable when more elements are added to the page (N/A - no new page added).mainbranch was merged into this PR after a review, I tested again and verified the outcome was still expected according to theTeststeps (N/A - main was not merged after review).Screenshots/Videos
Android: Native
N/A
Android: mWeb Chrome
N/A
iOS: Native
N/A
iOS: mWeb Safari
N/A
MacOS: Chrome / Safari
desktop_chrome1779141576349929.mp4