Refactor IOU default expense-policy logic to distinguish personal and group policies - #98730
Conversation
Reviewer Checklist
Screenshots/VideosAndroid: HybridAppAndroid: mWeb ChromeiOS: HybridAppiOS: mWeb Safari |
|
🚧 puneetlath 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/puneetlath in version: 9.4.55-0 🚀
|
Help site review — no changes requiredI reviewed the changes in this PR against Expensify's help site articles under Why: This is an internal logic refactor. It removes the deprecated The affected behavior (whether the Create expense flow skips participant selection and auto-routes to a default workspace destination vs. opening participant selection) is internal implementation detail that isn't documented in the help site. A search of Since no docs changes are required, I did not create a draft help site PR. @fedirjh, please confirm you agree no help site updates are needed here. If you believe a specific article should be updated, let me know which behavior to document and I'll create the draft PR. |
|
🚀 Deployed to production by https://github.com/Beamanator in version: 9.4.55-4 🚀
Bundle Size Analysis (Sentry): |


Explanation of Change
This PR continues https://github.com/Expensify/Expensify/issues/370320 by removing the deprecated
isPolicyExpenseChatEnabledcheck from active-policy IOU helpers that already gate on group policy. The behavior now depends on whether the active policy is a group workspace, which matches the real routing logic and avoids keeping the deprecated flag in these paths.Fixed Issues
$ https://github.com/Expensify/Expensify/issues/370320
PROPOSAL: N/A
Tests
Offline tests
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
CleanShot.2026-08-16.at.20.32.58.mp4