Repository navigation
[Insights polish] Don't flash charts before empty state on new accounts + add fade transitions - #105391
Conversation
states + add fade transitions
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.
|
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 78f98fecb2
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
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".
|
@daledah this is ready for your review. |
|
I'll review this PR in a couple of hours |
Reviewer Checklist
Screenshots/VideosMacOS: Chrome / SafariScreen.Recording.2026-10-30.at.23.19.16.mov |
@mhawryluk @JmillsExpensify The filter bar still appears briefly and then disappears on new accounts. Should we fix this? |
|
Probably should |
46df4f1
fixed! Nagranie.z.ekranu.2026-11-2.o.10.28.44-kopia.mov |
InsightsDashboardContent
|
Awesome. Anything else left for your review @daledah? |
|
@luacmartins you're up when you sign on today |
|
🚧 luacmartins 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/luacmartins in version: 9.5.28-4 🚀
|
|
No help site update needed: this PR only changes Insights loading behavior (a spinner instead of loading charts before the no-expenses state) and adds fade transitions, which are visual polish that doesn't make any help article sentence incorrect. |
|
🚀 Deployed to staging by https://github.com/luacmartins in version: 9.5.30-0 🚀
|
|
🚀 Deployed to production by https://github.com/blimpich in version: 9.5.30-0 🚀
Bundle Size Analysis (Sentry): |

Explanation of Change
On an account with no expenses, opening Insights flashed charts in a loading state before switching to the full-page no-expenses state. The charts showed while the GetInsights request was in flight, and only its response says whether the account has any expenses. Now, until the first GetInsights response lands, the page shows a full-view spinner instead of loading charts, so a new account goes straight from the spinner to the no-expenses state. After that, changing filters works as before: the charts show their own loading, then the empty state if nothing matches.
Also adds fade transitions: the page cross-fades between its states and each chart card fades in when it switches between its own states.
Fixed Issues
$ #105378
PROPOSAL: N/A
Tests
Offline tests
QA Steps
Same as tests.
PR Author Checklist
### Fixed Issuessection aboveTestssectionOffline stepssectionQA stepssectionAvatar, I verified the components usingAvatarare working as expected)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
Nagranie.z.ekranu.2026-10-30.o.14.39.53.mov