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 - Not here page opens after refreshing Change office location RHP #104893
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:
Invite another member to the workspace.
Enable commuterExclusionsArrangements beta.
Workspace has company address.
Go to staging.new.expensify.com
Go to workspace settings > Members.
Bulk select any member.
Click Change office location.
Refresh the page.
Expected Result:
RHP will dismiss after refreshing Change office location RHP (similar to refreshing Change role RHP).
Actual Result:
Not here page opens after refreshing Change office location RHP.
👋 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: Fix forward instead of reverting. Consider demoting. The feature is behind the commuterExclusionsArrangements beta, nothing is saved wrongly, and it only shows on refresh or deep link. Reverting would remove a large feature PR (about 60 files) over a small navigation difference.
Fix: In both pages, copy the Role page's redirect:
Add a useEffect that calls Navigation.navigate(ROUTES.WORKSPACE_MEMBERS.getRoute(policyID)) when the selection has loaded and is empty.
Remove || !hasSelectedMembers from shouldBeBlocked, so Not Here does not flash before the redirect.
Update the "selection from another workspace" tests to expect the redirect instead of shouldBeBlocked.
Investigation details
The Role page reads RAM_ONLY_WORKSPACE_MEMBERS_SELECTED_FOR_ROLE_CHANGE. It blocks only when selected members can't be managed (memberCount > 0 && !canManageSelectedMemberRoles, WorkspaceMembersRolePage.tsx:119). An empty selection triggers the redirect effect.
The new pages read RAM_ONLY_WORKSPACE_MEMBERS_SELECTED_FOR_BULK_EDIT. They have no redirect effect, and Navigation.goBack runs only from the back button and Confirm.
tests/ui/WorkspaceMembersChangeOfficeLocationPageTest.tsx asserts shouldBeBlocked === true for a selection from another workspace. So Not Here was intended, as nkdengineer noted. It still doesn't match how Change role behaves, which is what the tester expected.
Confirm already does nothing with an empty selection, so the fix is safe.
Next Steps: Reply with @MelvinBot implement this to create a draft PR, or @MelvinBot <your feedback> to refine this analysis.
After a refresh, the Change office location and Change work arrangement pages now go back to the Members list. This matches Change role, so the Not Here page no longer shows.
Checks: typecheck, lint, formatting, React Compiler check, and the updated unit tests pass. The unit tests include new cases for refresh and loading.
Not done: I couldn't run a manual web test because the test browser session loaded a blank page. The Tests and QA sections are left for you to fill in.
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/f9495f802b8d047c37ce500f9a74fcf0156ffc82a80f74c663becdad598a1ef3
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
melvin-bot commentedon Oct 23, 2026
💬 A slack conversation has been started in #expensify-open-source
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:
nkdengineer commentedon Oct 23, 2026
It's expected because when refreshing, the selected member is cleared then the not found page appears.
cc @Gonals
MelvinBot commentedon Oct 23, 2026
Deploy Blocker Analysis
Cause: [Payment due @nkdengineer] Set user-level office arrangements added the Change office location page. After a refresh, the in-memory member selection is empty. The page then blocks itself and shows Not Here (
WorkspaceMembersChangeOfficeLocationPage.tsx:58,:101). Change role handles the same case by sending you back to the members list (WorkspaceMembersRolePage.tsx:68-76).The Change work arrangement page from the same PR has the same problem (
WorkspaceMembersChangeWorkArrangementPage.tsx:57,:97).Recommendation: Fix forward instead of reverting. Consider demoting. The feature is behind the
commuterExclusionsArrangementsbeta, nothing is saved wrongly, and it only shows on refresh or deep link. Reverting would remove a large feature PR (about 60 files) over a small navigation difference.Fix: In both pages, copy the Role page's redirect:
useEffectthat callsNavigation.navigate(ROUTES.WORKSPACE_MEMBERS.getRoute(policyID))when the selection has loaded and is empty.|| !hasSelectedMembersfromshouldBeBlocked, so Not Here does not flash before the redirect.shouldBeBlocked.Investigation details
RAM_ONLY_WORKSPACE_MEMBERS_SELECTED_FOR_ROLE_CHANGE. It blocks only when selected members can't be managed (memberCount > 0 && !canManageSelectedMemberRoles,WorkspaceMembersRolePage.tsx:119). An empty selection triggers the redirect effect.RAM_ONLY_WORKSPACE_MEMBERS_SELECTED_FOR_BULK_EDIT. They have no redirect effect, andNavigation.goBackruns only from the back button and Confirm.tests/ui/WorkspaceMembersChangeOfficeLocationPageTest.tsxassertsshouldBeBlocked === truefor a selection from another workspace. So Not Here was intended, asnkdengineernoted. It still doesn't match how Change role behaves, which is what the tester expected.Next Steps: Reply with
@MelvinBot implement thisto create a draft PR, or@MelvinBot <your feedback>to refine this analysis.Gonals commentedon Oct 26, 2026
Behind beta. Not a blocker
Gonals commentedon Oct 26, 2026
@MelvinBot implement this
MelvinBot commentedon Oct 26, 2026
🤖 Draft PR created: Return to the members list when bulk-edit office location or work arrangement pages are refreshed
Please mark it as "Ready for review" or ask me to do that for you when it is ready for review.
After a refresh, the Change office location and Change work arrangement pages now go back to the Members list. This matches Change role, so the Not Here page no longer shows.
melvin-bot commentedon Oct 29, 2026
@Gonals Whoops! This issue is 2 days overdue. Let's get this updated quick!