Fix: Total spend footer does not always appear when all expenses are selected - #96120
Fix: Total spend footer does not always appear when all expenses are selected#96120lorretheboy wants to merge 7 commits into
Conversation
|
@codex review |
|
Codex Review: Didn't find any major issues. Another round soon, please! Reviewed commit: ℹ️ 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". |
|
@DylanDylann 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] |
|
@lorretheboy Could you close this PR? Or marking it as a draft |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: b9f2f4cc9e
ℹ️ 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".
|
@lorretheboy Could you explain the RCA again, and why it only happens on accounts that have many expenses? |
|
@DylanDylann On an ad-hoc Expenses search,
Why only big accounts: it's purely a race against the request round-trip. shouldCalculateTotals: true makes the BE aggregate over all matching expenses, and the bigger payload lengthens the Onyx write queue that waitForWrites blocks on. Smallaccount = a few tens of ms, you can't click fast enough (why we couldn't repro). 450+ expenses = seconds, easy to hit. |
|
@lorretheboy In the testing steps, please emphasize that we need to select all right after deselecting in order to test this |
|
@DylanDylann I updated the test steps |
|
@lorretheboy In your fix, you made two changes:
|
|
From my testing, it works well with just the dedupeKey fix. So I'm wondering whether the second change is actually needed here |
|
@lorretheboy Kindly bump |
|
I will recheck today |
|
@DylanDylann I agree with you suggestion. Updated code, kindly rereview |
|
@codex review |
Reviewer Checklist
Screenshots/VideosAndroid: HybridAppAndroid: mWeb ChromeiOS: HybridAppiOS: mWeb SafariMacOS: Chrome / Safari |
|
@lorretheboy The "All matching item selected" is displayed in a moment. We expect to display the loading indicator until the data is loaded Screen.Recording.2026-07-28.at.16.06.47.mov |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 030a421270
ℹ️ 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".
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.
|
|
@DylanDylann I fixed the loading indicator |
Explanation of Change
Fixed Issues
$ #96116
PROPOSAL:
Tests
Precondition:
Offline tests
QA Steps
Precondition:
PR Author Checklist
### Fixed Issuessection aboveTestssectionOffline stepssectionQA stepssectiontoggleReportand notonIconClick)Avatar, 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-07-14.at.14.35.38.mov