Repository navigation
Confirm new expenses with a “View” toast instead of scrolling to and highlighting the row - #96496
Conversation
…highlighting the row
|
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❌ Looks like you've decreased code coverage for some files. Please write tests to increase, or at least maintain, the existing level of code coverage. See our documentation here for how to interpret this table.
|
JakubKorytko
left a comment
There was a problem hiding this comment.
Swapping the imperative per-flow growl calls for a single declarative ExpenseAddedGrowl component that subscribes to Onyx is a solid improvement over the old approach! the comments are mostly nits. The batch-ordering one and the signal-lifecycle one are the two I would actually confirm before merge
|
@situchan can you review please? |
|
🚧 mountiny has triggered a test Expensify/App build. You can view the workflow run here. |
This comment has been minimized.
This comment has been minimized.
Reviewer Checklist
Screenshots/VideosAndroid: HybridAppAndroid: mWeb ChromeiOS: HybridAppiOS: mWeb SafariMacOS: Chrome / Safariweb1.movweb2.movweb3.movweb3-2.movweb4.movweb6.movweb7.movweb8.movcase1.movcase2.movcase4.mobile3.movcase5.movcase6.movcase7.movcase8.movcase9.mobile2.movmobile1.mov |
|
✋ 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/mountiny in version: 9.4.59-0 🚀
|
Help site review — changes required ✅This PR removes the row highlighting of newly created expenses on the Spend tab and replaces it with an Expense added confirmation (with a View button). One help article documented the old highlighting behavior, so it needed an update. Stale content found: Draft PR: #99233 — updates that line to describe the Expense added confirmation and View button instead. Verification & scope
@mhawryluk, please review the linked help site PR and confirm it reflects the current behavior. Then mark the linked help site PR |
|
Deploy Blocker #99248 was identified to be related to this PR. |
|
Deploy Blocker #99249 was identified to be related to this PR. |
|
Deploy Blocker #99252 was identified to be related to this PR. |
|
Deploy Blocker #99253 was identified to be related to this PR. |
|
Deploy Blocker #99255 was identified to be related to this PR. |
|
Deploy Blocker #99257 was identified to be related to this PR. |
|
Deploy Blocker #99258 was identified to be related to this PR. |
|
Deploy Blocker #99261 was identified to be related to this PR. |
|
Deploy Blocker #99262 was identified to be related to this PR. |
|
Deploy Blocker #99264 was identified to be related to this PR. |
|
🚀 Deployed to production by https://github.com/AndrewGable in version: 9.4.59-5 🚀
Bundle Size Analysis (Sentry): |
Explanation of Change
Shows an "Expense added" growl (with a "View" action) after an expense is created from FAB outside of its report‚ as well as when duplicating and splitting expenses on Spend. Removes the highlighting of new expenses in the Spend tab tables completely.
It's driven declaratively by a single ExpenseAddedGrowl component, which watches an Onyx signal that the creation flows write to (same as they did for highlighting). In the previous approach each creation flow triggered the growl and its navigation imperatively, passing values that could go stale before the user tapped "View". Centralizing it in one Onyx-driven component removes that duplication and the stale-data problem.
Fixed Issues
$ #91408
PROPOSAL: N/A
Tests
Growl + "View" from global create (Inbox tab)
Growl in the Spend tab
"View" opens the correct destination for the current surface
Single growl/single navigation on a batch (skip-confirm multi-scan)
Invoice
Split an existing expense into multiple
Bulk duplicate expenses
Self-DM expense
Share flow (native only)
Offline tests
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
Nagranie.z.ekranu.2026-07-23.o.18.05.47.mov
Nagranie.z.ekranu.2026-07-23.o.18.29.15.mov
Android: mWeb Chrome
iOS: Native
Simulator.Screen.Recording.-.iPhone.17.Pro.-.2026-07-21.at.17.04.37.mov
iOS: mWeb Safari
MacOS: Chrome / Safari
Nagranie.z.ekranu.2026-07-20.o.16.46.23.mov
Nagranie.z.ekranu.2026-07-20.o.16.51.38.mov