Fix split label showing for single participant splits#79812
Fix split label showing for single participant splits#79812lakchote merged 8 commits intoExpensify:mainfrom
Conversation
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.
|
JmillsExpensify
left a comment
There was a problem hiding this comment.
Woo, those testing steps are a doozy! Thanks though, product spec look good.
|
@mukhrr Are there simpler steps to reproduce the same issue? Also you have conflicts 🙏 |
|
@jjcoffee I don't think so. Resolved conflicts. |
|
@garrettmknight or @JmillsExpensify Just to double confirm the change here. We'll now never show the For one thing, since we're not touching Also in step 12, the It's probably easier to understand with a video, this one starts from step 10. desktop-chrome-2026-01-21_15.40.17.mp4 |
Reviewer Checklist
Screenshots/VideosAndroid: HybridAppandroid-app-2026-01-21_16.33.41.mp4Android: mWeb Chromeandroid-chrome-2026-01-21_16.40.23.mp4iOS: HybridAppios-app-2026-01-21_16.15.07.mp4iOS: mWeb Safariios-safari-2026-01-21_16.24.15.mp4MacOS: Chrome / Safaridesktop-chrome-2026-01-21_15.40.17.mp4 |
|
Also noting that there's a bug also on staging where if you sign out and back in (or clear cache and restart) tapping on the |
Do you have specific cases here?
I'm not sure I'm following, maybe that means it's not a big enough deal for me to notice. 😅 Can you rewrite the final steps in the way you think it should be working? |
|
@jjcoffee kindly bump on this |
|
@mukhrr Sorry I'm out sick at the moment, if you're able to reply to @garrettmknight's questions it might help move things along in the meantime. |
@garrettmknight For example, the steps for this PR (and the original issue) will result in the
In this PR, we remove the |
|
@jjcoffee oh sorry.. I forgot to update here
|
Huh, that's unexpected. Effectively, if someone submits one split and deletes the other, the submitted split is no longer a split; it's just an expense whose amount has been reduced from the original. So I'd expect that after step 12 (Click on the highlighted split > click Remove split > Save), the expense no longer has 'Edit splits' or the dot-Split label on it.
I don't think |
|
@jjcoffee I pushed changes. Could you, pls, review once more?! thanks |
|
@jjcoffee kindly bump here |
|
@mukhrr After step 13, tapping the amount field opens the split editor as if the current split has additional splits (the original amount was actually 10 EUR in this case). desktop-chrome-amount-edit-2026-02-09_11.22.36.mp4 |
|
@jjcoffee ah good catch 👍 can you pls check it now?! thanks |
@garrettmknight Sorry, just another confirmation... if the expense is not submitted and we remove one of the splits, should the |
|
@jjcoffee yes, sure. We check for App/src/components/ReportActionItem/MoneyRequestView.tsx Lines 512 to 514 in 4d0f402 And it checks if App/src/libs/TransactionUtils/index.ts Lines 2581 to 2583 in 4d0f402
So yes, we need BE change to show Split indicator in this case. |
|
On-going review |
|
@jjcoffee should we continue or hold this as of BE? |
|
@mukhrr Sorry, this is getting a bit tricky to follow 😄
I think this is the correct behaviour (if the
@garrettmknight Could you confirm? Currently on staging removing one of the splits on an unsubmitted expense always reverts it. I assume this is correct behaviour, but if it's not I think it's not super relevant to this PR. |
|
@mukhrr Could you fix failing checks in the meantime? |
…en utility function
…equestView selector in useCallback
|
@garrettmknight kindly bump here
|
Got it. Generally, if we revert the split, we should remove the Split label. If removing the second-to-last split when all are unsubmitted always reverts then we shouldn't show the split. |
|
@jjcoffee I think we can proceed now |
|
🚧 @lakchote 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/lakchote in version: 9.3.34-0 🚀
|
|
Deploy Blocker #84643 was identified to be related to this PR. |
|
Deploy Blocker #84748 was identified to be related to this PR. |
|
🚀 Deployed to production by https://github.com/luacmartins in version: 9.3.34-2 🚀
|
Explanation of Change
Fixed Issues
$ #73732
PROPOSAL: #73732 (comment)
Tests
Verify "Amount" field no longer shows "Split" indicator
Verify that no errors appear in the JS console
Offline tests
QA Steps
The 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
android_native.mp4
Android: mWeb Chrome
android_mWeb.mp4
iOS: Native
ios_native.mp4
iOS: mWeb Safari
ios_mWeb.mp4
MacOS: Chrome / Safari
web.mp4