Repository navigation
Conversation
Codecov Report✅ Changes either increased or maintained existing code coverage, great job!
|
Reviewer Checklist
Screenshots/VideosAndroid: HybridAppN/a Android: mWeb Chromeandroid-11.webmiOS: HybridAppn/a iOS: mWeb Safarin/a MacOS: Chrome / SafariScreen.Recording.2026-10-07.at.10.20.04.PM.mov |
|
@MelvinBot review |
|
Review: looks good to merge. I found no blocking issues. The new lookup gives the same title as before for every item shown in the menu. The perf win is real because the header no longer mounts What I checked
Optional: You could add a small unit test for |
|
✋ This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release. |
|
🚧 mountiny 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/mountiny in version: 9.5.6-0 🚀
|
|
No help site update is needed: this PR is a performance refactor that keeps the same Spend page header titles, so no sentence in |
|
Hi @TMisiukiewicz. Does this PR apply to Native apps? Apps have not updated the title |
|
Hi @IuliiaHerets , this is web only, no changes on native side |
|
🚀 Deployed to production by https://github.com/puneetlath in version: 9.5.6-6 🚀
Bundle Size Analysis (Sentry): |
Explanation of Change
SearchPageHeaderCommoncalleduseSearchTypeMenuSections()only to find the current suggested search's label for the title. That hook runsuseHasReportAwaitingApproval, which rescans all reports and rebuilds a transactions-by-report index on every report/transaction write. Opening a report from the Spend tab triggers several such writes, so the header spent ~200ms per open redoing a scan that can't change its title.The header now reads
suggestedSearches[currentSearchKey]fromuseSearchQueryContext(), which is already computed there.Note: the old lookup only matched items visible in the menu; the new one matches any suggested search, consistent with how
Search/index.tsxalready titles charts. The difference only shows in rare edge cases (e.g. Approve hidden mid-session after approving the last report as a non-workflow approver), where the new title is more accurate.Fixed Issues
$ #103155
PROPOSAL:
Tests
Offline tests
Same as tests while offline.
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
🤖 Generated with Claude Code