[Payment due @suneox] Treat invalid search status filter as if there is no filter at all - #100162
Conversation
|
The failing Jest test is not related to this PR and is already tracked in #100134. |
|
Jest test is passing now! |
garrettmknight
left a comment
There was a problem hiding this comment.
Looks good from a product perspective
Reviewer Checklist
Screenshots/VideosAndroid: HybridAppCleanShot.2026-09-04.at.08.51.31.mp4Android: mWeb ChromeCleanShot.2026-09-04.at.08.51.31.1.mp4iOS: HybridAppCleanShot.2026-09-04.at.08.44.47.mp4iOS: mWeb SafariCleanShot.2026-09-04.at.08.44.47.1.mp4MacOS: Chrome / SafariCleanShot.2026-09-04.at.08.41.51.1.mp4 |
|
🎯 @suneox, thanks for reviewing and testing this PR! 🎉 A payment issue will be created for your review once this PR is deployed to production. If payment is not needed (e.g., regression PR review fix etc), react with 👎 to this comment to prevent the payment issue from being created. |
|
@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] |
|
Oops sorry, ignore the pings @TaduJR and @marufsharifi! |
|
✋ This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release. |
|
🚧 MariaHCD 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/MariaHCD in version: 9.4.73-0 🚀
|
|
🤖 Yes — help site changes are required. Draft PR: #100491 Why: What the docs PR changes:
Verification detailsCode evidence: UI verified on web: the Spend tab and the Search icon in the top-right both match what the article already says, so the navigation steps needed no changes. Two things I could not confirm on the live web session, so I did not write anything about them:
Not changed: @jjcoffee, please review the linked help site PR and confirm it reflects the current behavior. Then mark the linked help site PR |
|
🤖 Payment issue created: #100626 |
|
🚀 Deployed to production by https://github.com/mountiny in version: 9.4.73-3 🚀
Bundle Size Analysis (Sentry): |
Explanation of Change
Currently the backend can generate
Searchwith queries that include an invalid status, specificallystatus:allwhich AgentZero/Concierge generates as part of it'sInsightlink (seen in the wild when it callsAnalyzeExpenses). This results in no expenses showing up at all, asAppcurrently treats an invalid status filter as a rejection on every expense.There is an active issue for changing the Concierge behaviour (since
status:alldoesn't exist as a filter), but for now and just as a general good practise it makes sense thatAppshouldn't treat an invalid status filter as a rejection for all expenses, but should rather mirror what we do in the backend which is to just ignore invalid filters and apply only valid ones.Fixed Issues
$ https://github.com/Expensify/Expensify/issues/677859
PROPOSAL: N/A
Tests
Same as QA steps.
Offline tests
Same as QA steps.
QA Steps
Insightlink, e.g.Show my top expenses from last monthInsight)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
Screen.Recording.2026-09-02.at.14.42.45.mov