Fix Concierge category update for multi-report selections on Spend > Expenses - #97879
Conversation
Co-authored-by: dmkt9 <dmkt9@users.noreply.github.com>
|
Both failing checks are process/human gates — neither is a code failure I can fix by pushing to the branch.
All actual code/test checks are green (Bun tests, ESLint, Oxfmt, TypeScript, unit tests, builds, etc.), so there's nothing to fix in the code. Evidence
Next step: fill out the PR Author Checklist above and get an Expensify engineer to review/approve. Once approved, |
Codecov Report✅ Changes either increased or maintained existing code coverage, great job!
|
|
Re-checked — the situation is unchanged. All code/test checks now pass; the only two failing checks remain Neither is fixable by pushing code, so there's nothing for me to commit. Next step is the same as before: fill out the author checklist and get an engineer to approve. |
|
@MelvinBot If the user has already selected some transactions and then opens the report by clicking on one of the selected transaction rows, |
…enses Co-authored-by: dmkt9 <dmkt9@users.noreply.github.com>
|
Good catch — confirmed and fixed in The EXPENSE branch dropped The fix gates the branch on Why
|
|
Re-checked — the situation is unchanged from my earlier comment. The only two failing checks are still human/process gates, not code failures:
Every code/test check is green, so there is nothing for me to fix by pushing to the branch. Fill out the checklist and get an Expensify engineer to approve, and both will clear. |
|
No change since my previous comment — the same two checks are red, and neither is a code failure I can push a fix for:
Every code/test check (Bun tests, ESLint, Oxfmt, TypeScript, unit tests, builds) is green, so there's nothing in the code to fix. To get to green: the author fills out the PR Author Checklist, and an Expensify engineer reviews/approves the PR. |
|
@MelvinBot update your checklist:
|
|
Done — updated the PR description:
Note: the |
|
@MelvinBot mark this PR as ready |
|
Done — this PR is now marked as ready for review. |
Reviewer Checklist
Screenshots/VideosAndroid: HybridAppAndroid: mWeb ChromeiOS: HybridAppiOS: mWeb SafariMacOS: Chrome / Safarichrome.mp4 |
|
🚧 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.51-0 🚀
|
|
No help site changes are required for this PR. This change is an internal bug fix, not a user-facing behavior or feature change, so nothing under Why no docs update is needed
If the team later wants to proactively document selecting multiple transactions on Spend > Expenses and asking Concierge to bulk-update them, @dmkt9, no help site PR was created because no docs changes are required. If you believe the multi-select bulk-update flow should be documented anyway, let me know and I'll draft one. |
Explanation of Change
On the Spend > Expenses page the search type is
EXPENSE, souseSidePanelContextalways attachedreportID: contextReportID(currentRHPReportID ?? currentReportID) to the Concierge AnywheresidePanelContext. On that page the selected transactions can span multiple reports, socontextReportIDdoes not correspond to them — the backend scoped its lookup to that single report, couldn't find the selected transactions, and the category update failed.This change adds a guarded branch for the
EXPENSEsearch type: whenselectedReportIDsis populated we drop the invalidreportIDand sendselectedReportIDs(+selectedTransactionIDs) instead, mirroring the existingEXPENSE_REPORTbranch. When no reports are selected the original behavior (sendingreportID) is preserved.Fixed Issues
$ #97476
PROPOSAL: #97476 (comment)
Tests
Same as QA Steps
Offline tests
N/A
QA Steps
Spend > ExpensespagePR 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