Repository navigation
[Insights: Violations]: Expanding group & Suggested search v2 - #98391
neil-marcellini merged 16 commits into
Conversation
…uggested search""
|
Hey, I noticed you changed If you want to automatically generate translations for other locales, an Expensify employee will have to:
Alternatively, if you are an external contributor, you can run the translation script locally with your own OpenAI API key. To learn more, try running: npx ts-node ./scripts/generateTranslations.ts --helpTypically, you'd want to translate only what you changed by running |
Codecov Report✅ Changes either increased or maintained existing code coverage, great job!
|
|
Hey, I noticed you changed If you want to automatically generate translations for other locales, an Expensify employee will have to:
Alternatively, if you are an external contributor, you can run the translation script locally with your own OpenAI API key. To learn more, try running: npx bun ./scripts/generateTranslations.ts --helpTypically, you'd want to translate only what you changed by running |
💡 Codex ReviewLines 1068 to 1070 in 71d8fb2 When a user opens this suggested search and exports it without first saving custom columns, the query has Line 1212 in 71d8fb2 For migrated Control workspaces where ℹ️ About Codex in GitHubCodex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
If Codex has suggestions, it will comment; otherwise it will react with 👍. When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback". |
|
Let us know when this is ready for design testing :) |
@dubielzyk-expensify It's ready now. |
|
🚧 dubielzyk-expensify has triggered a test Expensify/App build. You can view the workflow run here. |
This comment has been minimized.
This comment has been minimized.
|
Might need @trjExpensify and @shawnborton to test this. Videos look good though |
|
Generally tests well to me. Though question for @trjExpensify - when do we decide to show the red violation text under the row vs only showing it in the Violations column? I see a mixed bag: |
|
@cretadn22 Please review the version 2 here. |
Yeah, the RBR violations are live violations that are still present on the expense (i.e haven't been fixed). The column of violations are the violations that were present at either the time of submission or approval (stored in those actions accordingly). Violations reporting doesn't let a submitter get away with submitting a bunch of expenses with violations, wasting approvers time and holding up the close, but eventually fixing them so they "go away". Similarly for an approver, if they approve a bunch of expenses with violations, that the finance team eventually fix, that's all still captured in violations reporting. |
|
#97067 (comment) per here, the "Expense too old" is still present on this adhoc build, when it should be "Date older than max expense age". Similarly, we're still showing "Itemised receipt required" AND "receipt required" at the same time. We don't duplicate this violation to the submitter, so we shouldn't do it here either.
|
|
Also, @neil-marcellini where is the |
|
Also worth noting that I see |
|
@cretadn22 Please review again. |
|
@nkdengineer Testing went smoothly overall. No new bugs were found, just a few issues pointed above |
|
@cretadn22 Updated your comment. |
neil-marcellini
left a comment
There was a problem hiding this comment.
Updates look good. Thanks!
|
🚧 neil-marcellini 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/neil-marcellini in version: 9.4.66-0 🚀
|
|
Deploy Blocker #100114 was identified to be related to this PR. |
|
Deploy Blocker #100122 was identified to be related to this PR. |
|
Deploy Blocker #100139 was identified to be related to this PR. |
|
🚀 Deployed to staging by https://github.com/neil-marcellini in version: 9.4.68-0 🚀
|
|
🚀 Deployed to production by https://github.com/francoisl in version: 9.4.68-1 🚀
Bundle Size Analysis (Sentry): |


Explanation of Change
Re-implement Expanding group & Suggested search for Violations and fix regression
Fixed Issues
$ #95859
#98204
#98244
PROPOSAL:
Tests
Violations by submitteris not highlightedViolationsoption appearsOffline tests
QA Steps
Same as test
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
Screen.Recording.2026-07-27.at.14.32.35.mov
Android: mWeb Chrome
Screen.Recording.2026-07-27.at.14.25.08.mov
iOS: Native
Screen.Recording.2026-07-27.at.14.29.43.mov
iOS: mWeb Safari
Screen.Recording.2026-07-27.at.14.27.52.mov
MacOS: Chrome / Safari
Screen.Recording.2026-07-27.at.14.20.06.mov