Search: show expense count and total when "Select all matching items" is active - #95238
Conversation
…ntext and updating selection button text logic.
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 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] |
|
@DylanDylann @luacmartins One of you needs to 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] |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 640d48e452
ℹ️ 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 Please don't ignore codex's comment |
|
It doesn't work if we load more expenses before selecting all Screen.Recording.2026-07-03.at.15.39.03.mov |
|
Conflicts |
|
Hi all, thank you for your reviews. I'm checking them and will give an update today |
…ng states and total calculations
|
For the flicker here #95238 (comment), I updated the code to add the loading indicator like this, is it ok? @DylanDylann Screen.Recording.2026-07-06.at.20.55.14.mov |
|
@DylanDylann For this issue #95238 (comment): In case we loaded all expenses, I hide the Screen.Recording.2026-07-06.at.20.58.47.movIn case we loaded a part of expenses, the behavior remains unchange Screen.Recording.2026-07-06.at.21.00.34.mov |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 996b9a0f51
ℹ️ 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".
Reviewer Checklist
Screenshots/VideosAndroid: HybridAppScreen.Recording.2026-07-08.at.15.13.03.movAndroid: mWeb ChromeScreen.Recording.2026-07-08.at.15.10.50.moviOS: HybridAppScreen.Recording.2026-07-08.at.15.10.08.moviOS: mWeb SafariScreen.Recording.2026-07-08.at.14.59.15.movMacOS: Chrome / SafariScreen.Recording.2026-07-08.at.14.56.00.mov |
|
@lorretheboy it seems like we have some outstanding comments left. Can you please address them? |
|
@luacmartins Yes, I will check it shortly |
…prove spinner visibility and prevent label flicker
|
@DylanDylann I addressed your comments, however please note that the test failures don't related to this PR changes, I will merge main to fix it once they are tackled |
|
@lorretheboy I think you can merge main now |
|
@luacmartins @DylanDylann I merged main |
|
🚧 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.4.34-0 🚀
|
Help site review — no changes requiredI reviewed the changes in this PR against Expensify's help site files under Why: This is a UI-polish fix, not a new feature or workflow. It surfaces the full-result expense count and total in the Search selection footer when Select all matching items is active for ad-hoc filter queries — server-computed totals that were already shown for saved and suggested searches. It also hides the total row when a total can't be computed (e.g. mixed-currency / grouping). No new setting, button, tab, or user-facing step is introduced. What I checked: The only help article that describes this area, Search-and-Download-Expenses.md, references "select all" solely as a checkbox action in the export flow — it does not document the selection footer's count/total display. The related Search articles ( Because no changes are needed, I did not create a draft help site PR.
@lorretheboy, if you believe the help site should still be updated (e.g. to newly document this footer behavior), let me know and I'll draft the PR. |
|
Deploy Blocker #96069 was identified to be related to this PR. |
|
@jponikarchuk I think it doesn't related to this PR |
|
Deploy Blocker #96116 was identified to be related to this PR. |
|
🚀 Deployed to production by https://github.com/roryabraham in version: 9.4.34-14 🚀
|
|
🚀 Deployed to production by https://github.com/roryabraham in version: 9.4.34-14 🚀
Bundle Size Analysis (Sentry): |
Explanation of Change
Fixed Issues
$ #94907
PROPOSAL: #94907 (comment)
Tests
Prerequisites:
Offline tests
QA Steps
Prerequisites:
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
Screen.Recording.2026-07-02.at.18.13.04.mov
Android: mWeb Chrome
234234.mov
iOS: Native
Screen.Recording.2026-07-02.at.18.20.08.mov
Screen.Recording.2026-07-02.at.18.19.44.mov
iOS: mWeb Safari
Screen.Recording.2026-07-02.at.18.18.11.mov
Screen.Recording.2026-07-02.at.18.17.51.mov
MacOS: Chrome / Safari
Screen.Recording.2026-07-02.at.18.21.28.mov