Preserve per-category attendees setting when toggling attendee tracking off#85464
Conversation
…acking toggle Remove the cleanup loop in handleAttendeeTrackingToggle that cleared areAttendeesRequired on every category when the workspace-level attendee tracking toggle was turned off. This is unnecessary because areAttendeesRequired is already gated by isAttendeeTrackingEnabled everywhere it is consumed (AttendeeUtils, ViolationsUtils, CategoryRequiredFieldsPage). Preserving the per-category settings means they survive toggle off/on cycles and NetSuite syncs without requiring manual reconfiguration. Co-authored-by: Carlos Alvarez <cead22@users.noreply.github.com>
|
The failing check ( Failing test: Analysis: This is a flaky timeout in a deep linking / session test. This PR only modifies Evidence: The PR changes 1 file ( |
Reviewer Checklist
Screenshots/VideosAndroid: HybridAppScreen.Recording.2026-03-24.at.16.08.53.mp4Android: mWeb ChromeScreen.Recording.2026-03-24.at.16.11.50.mp4iOS: HybridAppScreen.Recording.2026-03-24.at.16.16.20.mp4iOS: mWeb SafariScreen.Recording.2026-03-24.at.16.18.53.mp4MacOS: Chrome / SafariScreen.Recording.2026-03-24.at.16.02.58.mp4 |
|
🚧 @NikkiWines 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! 🧪🧪
|
|
✋ 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/NikkiWines in version: 9.3.44-0 🚀
Bundle Size Analysis (Sentry): |
|
🚀 Deployed to staging by https://github.com/NikkiWines in version: 9.3.47-0 🚀
Bundle Size Analysis (Sentry): |
|
After connecting to NetSuite, all default categories are deleted, so unable to check Step 9. ScreenRecording_03-25-2026.14-39-39_1.mp4 |
|
Yeah that's fine, can you do these steps to cross off this PR from the checklist?
|
|
🚀 Deployed to production by https://github.com/grgia in version: 9.3.48-2 🚀
|
Explanation of Change
When the "Attendee tracking" is turned off at the policy level, the current code loops through all categories and explicitly sets
areAttendeesRequired = falseon each one via individual API calls. This PR removed that logic because it's unnecessaryFixed Issues
$ #85116
PROPOSAL: #85116 (comment)
Tests
Offline tests
Same as tests
QA Steps
PR Author Checklist
### Fixed Issuessection aboveTestssectionOffline stepssectionQA stepssectiontoggleReportand 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: mWeb Chrome
iOS: Native
iOS: mWeb Safari
MacOS: Chrome / Safari