Fix error during expense creation with disabled workflows#77426
Fix error during expense creation with disabled workflows#77426blimpich merged 9 commits intoExpensify:mainfrom
Conversation
|
@eh2077 Can you have a look? |
Codecov Report✅ Changes either increased or maintained existing code coverage, great job!
|
trjExpensify
left a comment
There was a problem hiding this comment.
The video in the OP seems wrong and doesn't match the tests, as the participant selector is showing immediately.
...
Tap fab - create expense
Note default workspace shown
Tap on it and open recipient page
Enter a email user
Complete the flow
After disabling submission frequency and advance approval, creating IOU with 1:1 user must show expense in 1:1 chat.
|
@trjExpensify Updated the steps, can you check if they look fine to you? |
|
Thanks! Now the PR changes is breaking the expected behaviour by showing the participant selector step.
The bug in the issue OP is with 2. |
|
@trjExpensify Just to confirm, do we never want to show the participant selection directly after entering the amount? |
|
No, there are cases when we do show it. Some I can think of off the top of my head:
|
|
@ShridharGoel Can you address Tom's comments above? thanks |
|
Adding the auto-reporting conditions have been leading to participant selection directly when the auto-submission is off, because of which there has been no update here yet. I'll try again with another solution. |
|
@eh2077 Updated |
@ShridharGoel It seems we ends up with a different solution from the original proposal. Can you explain a bit why it fixes the root cause of the original issue? |
|
@eh2077 Yes it still solves the root cause. After we picked a 1:1 chat, the confirmation step still fell back to the original workspace report from the route, so it sent the expense into the workspace instead of the 1:1 chat. Fix: The confirmation page now uses the transaction’s current report ID and won’t fall back to the workspace when it differs, and the participant step always updates the transaction’s report ID when we change the recipient. |
|
@eh2077 Bump |
Reviewer Checklist
Screenshots/VideosAndroid: HybridAppScreen.Recording.2026-01-06.at.10.11.27.PM.movAndroid: mWeb ChromeScreen.Recording.2026-01-06.at.10.07.09.PM.moviOS: HybridAppScreen.Recording.2026-01-06.at.10.08.38.PM.moviOS: mWeb SafariScreen.Recording.2026-01-06.at.10.10.18.PM.movMacOS: Chrome / SafariScreen.Recording.2026-01-06.at.10.03.29.PM.mov |
blimpich
left a comment
There was a problem hiding this comment.
Can we add a unit test for this?
|
Added tests |
|
@ShridharGoel Please take a look at failing checks, thanks! |
|
@trjExpensify can you look at the videos now and see if they addressed your original comments? And if so approve? |
trjExpensify
left a comment
There was a problem hiding this comment.
The video here looks good now 👍
|
✋ This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release. |
|
🚀 Deployed to staging by https://github.com/blimpich in version: 9.3.0-0 🚀
|
|
🚀 Deployed to production by https://github.com/francoisl in version: 9.3.0-8 🚀
|
Explanation of Change
Adjusted confirmation step to stop falling back to the route’s workspace report when the transaction’s report ID has been changed to a different target. The new guard treats a different report ID as intentional and avoids using the workspace report, so IOUs created after selecting a 1:1 recipient get created in the correct chat.
Fixed Issues
$ #74535
PROPOSAL: #74535 (comment)
Tests
Offline tests
QA Steps
Same as tests.
PR Author Checklist
### Fixed Issuessection aboveTestssectionOffline stepssectionQA stepssectioncanBeMissingparam foruseOnyxtoggleReportand notonIconClick)src/languages/*files and using the translation methodSTYLE.md) were followedAvatar, 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.ScrollViewcomponent to make it scrollable when more elements are added to the page.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.2025-12-28.at.4.04.35.PM.mov
Android: mWeb Chrome
Screen.Recording.2025-12-28.at.4.00.58.PM.mov
iOS: Native
Screen.Recording.2025-12-28.at.4.02.44.PM.mov
iOS: mWeb Safari
Screen.Recording.2025-12-28.at.4.03.55.PM.mov
MacOS: Chrome / Safari
Screen.Recording.2025-12-28.at.3.58.22.PM.mov