You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Members - Error shows up after people admin changes member's office location #104896
Version Number: 9.5.20-0 Reproducible in staging?: Yes Reproducible in production?: N/A - new feature, doesn't exist in prod If this was caught during regression testing, add the test name, ID and link from BrowserStack:#104344 Email or phone of affected tester (no customers):[email protected] Issue reported by: Applause Internal Team Bug source: Exploratory - Significant User Experience Deterioration Device used: Mac 26.5 / Chrome App Component: Workspace Settings
Action Performed:
Precondition:
Create a Control workspace.
Invite User B to the workspace as people admin.
Enable commuterExclusionsArrangements beta.
Workspace has company address and another office location.
Perform the steps below as people admin:
Go to staging.new.expensify.com
Go to workspace settings > Members.
Click on any member.
Click Change office location.
Select another location and save it.
Expected Result:
No error will show up after people admin changes member's office location.
Actual Result:
Error shows up after people admin changes member's office location.
👋 Friendly reminder that deploy blockers are time-sensitive ⏱ issues! Check out the open `StagingDeployCash` deploy checklist to see the list of PRs included in this release, then work quickly to do one of the following:
Identify the pull request that introduced this issue and revert it.
Recommendation: demote and fix forward. The feature is behind the commuterExclusionsArrangements beta and isn't in production. Workspace admins aren't affected, and the failed change rolls back cleanly.
Root cause: The App lets People Admins change office locations on purpose, and it sends the same request for every role. That request appears to fail only for People Admins. When it fails, the App rolls back and shows its generic error. This appears to be a backend/internal issue. A separate internal investigation is needed.
Fix options (product decision):
Backend: Allow People Admins to run UpdateEmployeeOfficeLocation. This matches the App's existing People Admin permissions.
App: If office location should be admin-only, replace the canMemberWrite(MEMBERS) gates with an admin check. The gates are listed below.
The request sends only {policyID, employeeLoginList, officeID}, with nothing role-specific: DistanceRate.ts:908-914. On failure, the App rolls back officeID and shows the generic error: DistanceRate.ts:879-883
The PR's test steps covered only a workspace admin, so nobody tested the People Admin path.
Gonals, I can't confirm that. I don't have access to that repository in this run, so I couldn't read the PR.
It should fix this issue if it lets People Admins run UpdateEmployeeOfficeLocation. The App sends the same request for every role, so no App change is needed.
Also check whether it covers SetEmployeeWorkArrangement. The App gates it the same way, so People Admins may hit the same error there.
To confirm, retest the issue steps as a People Admin on staging after the fix deploys.
Activity
applause-bot commentedon Oct 23, 2026
While Applause doesn't embed attachments for this bug, here are the links for quick view:
https://platform.applause.com/services/links/v1/external/7be575bd9d65be05f8ecc33847204acaad6d10acb32e540843149bd20827c7a9
melvin-bot commentedon Oct 23, 2026
You have been assigned to this deploy blocker because you recently merged this PR: #104344
melvin-bot commentedon Oct 23, 2026
@mjasikowski @nkdengineer you have been assigned to this deploy blocker because you reviewed the offending PR: #104344
melvin-bot commentedon Oct 23, 2026
@Gonals you have been assigned to this deploy blocker because you authored the offending PR: #104344
github-actions commentedon Oct 23, 2026
👋 Friendly reminder that deploy blockers are time-sensitive ⏱ issues! Check out the open `StagingDeployCash` deploy checklist to see the list of PRs included in this release, then work quickly to do one of the following:
melvin-bot commentedon Oct 23, 2026
💬 A slack conversation has been started in #expensify-open-source
MelvinBot commentedon Oct 23, 2026
Deploy Blocker Analysis
Causing PR: [Payment due @nkdengineer] Set user-level office arrangements by
Gonals. I'm highly confident this PR introduced the flow. I'm moderately confident about the mechanism.Recommendation: demote and fix forward. The feature is behind the
commuterExclusionsArrangementsbeta and isn't in production. Workspace admins aren't affected, and the failed change rolls back cleanly.Root cause: The App lets People Admins change office locations on purpose, and it sends the same request for every role. That request appears to fail only for People Admins. When it fails, the App rolls back and shows its generic error. This appears to be a backend/internal issue. A separate internal investigation is needed.
Fix options (product decision):
UpdateEmployeeOfficeLocation. This matches the App's existing People Admin permissions.canMemberWrite(MEMBERS)gates with an admin check. The gates are listed below.Investigation details (App SHA
ae1ed18)MEMBERS: WRITE: permissions.ts:123-131canMemberWrite(MEMBERS):{policyID, employeeLoginList, officeID}, with nothing role-specific: DistanceRate.ts:908-914. On failure, the App rolls backofficeIDand shows the generic error: DistanceRate.ts:879-883SetEmployeeWorkArrangementuses the same gate and may fail the same way for People Admins. I didn't confirm that.Next Steps: Reply with
@MelvinBot <your feedback>to refine this analysis.view run
Gonals commentedon Oct 26, 2026
Behind beta. Not a blocker
Gonals commentedon Oct 26, 2026
@MelvinBot, this is fixed by https://github.com/Expensify/Auth/pull/25725, right?
MelvinBot commentedon Oct 26, 2026
Gonals, I can't confirm that. I don't have access to that repository in this run, so I couldn't read the PR.It should fix this issue if it lets People Admins run
UpdateEmployeeOfficeLocation. The App sends the same request for every role, so no App change is needed.Also check whether it covers
SetEmployeeWorkArrangement. The App gates it the same way, so People Admins may hit the same error there.To confirm, retest the issue steps as a People Admin on staging after the fix deploys.
view run
Gonals commentedon Oct 26, 2026
Checked myself. Already merged and should fix this (which was a known issue). Closing this.