Repository navigation
[Payment due @gijoe0295] fix: surface empty draft reports in Submit to-do bucket - #97312
Conversation
Empty (zero-transaction) open expense reports have no Submit action, so they were excluded from the Submit to-do bucket even though they carry a Draft badge and belong in the Drafts tab. Owned, non-archived empty drafts on a group policy now surface alongside reports that are actually awaiting submission.
|
@codex review |
|
@gijoe0295 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] |
|
From here,
This can be tested on this PR with an adhoc build. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: ea43cae1d9
ℹ️ 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".
Unloaded transactions look identical to zero transactions, so a report could briefly be misclassified as an empty draft before its transactions finished hydrating.
|
@codex review. |
|
Codex Review: Didn't find any major issues. Delightful! 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". |
|
@gijoe0295 can you review please |
Reviewer Checklist
Screenshots/VideosAndroid: HybridAppAndroid: mWeb ChromeScreen.Recording.2026-08-08.at.02.34.12.moviOS: HybridAppScreen.Recording.2026-08-08.at.02.49.39.moviOS: mWeb SafariScreen.Recording.2026-08-08.at.02.19.23.movMacOS: Chrome / SafariScreen.Recording.2026-08-08.at.02.08.50.mov |
|
Switching Flavia on for the product review.
|
|
@JS00001
MacOS: Chrome / SafariScreen.Recording.2026-08-05.at.00.17.45.mov |
|
@c3024 ^ |
I don't think you're doing this. You're creating another expense, not another report, so the expense is being added to the existing draft report. If you open the Reports section in the left panel, you should see only two reports: one draft report (containing both expenses) and one submitted report. Nothing seems wrong here. Correct me if I'm misunderstanding. |
|
🚧 flaviadefaria has triggered a test Expensify/App build. You can view the workflow run here. |
This comment has been minimized.
This comment has been minimized.
|
@gijoe0295 any updates here? |
|
🎯 @gijoe0295, thanks for reviewing and testing this PR! 🎉 A payment issue will be created for your review once this PR is deployed to production. If payment is not needed (e.g., regression PR review fix etc), react with 👎 to this comment to prevent the payment issue from being created. |
|
@JS00001 I'm done! |
|
@c3024 I think we should merge main into branch to fix Android build |
|
Merged! |
|
@JS00001 all yours! |
|
🚧 JS00001 has triggered a test Expensify/App build. You can view the workflow run here. |
|
✋ This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release. |
|
🧪🧪 Use the links below to test this adhoc build on Android, iOS, and Web. Happy testing! 🧪🧪
|
|
🚀 Deployed to staging by https://github.com/JS00001 in version: 9.4.52-0 🚀
|
|
🤖 No help site changes required. This PR is an internal behavior fix — it corrects I reviewed the help articles that touch this area:
Since the help site describes this behavior only at a conceptual level and this change aligns the app with the intended design rather than introducing new documented behavior, there's nothing to update. No draft docs PR was created. |
|
🚀 Deployed to production by https://github.com/roryabraham in version: 9.4.52-11 🚀
Bundle Size Analysis (Sentry): |
|
🤖 Payment issue created: #98466 |
Explanation of Change
reportMatchesTodoBucket's Submit bucket only matched reports whereisSubmitActionreturned true, which requires at least one non-held transaction. Empty (zero-transaction) draft reports have no Submit action, so they never appeared in the Search "Submit" to-do or the Drafts tab even though they carry a Draft badge.For the Submit bucket, an open, non-archived report on a group policy that is owned by the current user and has zero transactions is now included, matching the companion Auth-side fix to the Submit search filter (https://github.com/Expensify/Auth/pull/23306).
Fixed Issues
$ https://github.com/Expensify/Expensify/issues/659302
PROPOSAL:
Tests
Screen.Recording.2026-07-29.at.1.10.23.PM.mov
Offline tests
Same as Tests - the to-do bucket is computed from local Onyx data, so offline behavior is unaffected.
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
Android: mWeb Chrome
iOS: Native
iOS: mWeb Safari
MacOS: Chrome / Safari
Screen.Recording.2026-07-29.at.1.10.23.PM.mov