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
Workspace - Rooms page is empty when opened as approve-only member #104943
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:#102933 Email or phone of affected tester (no customers):sjdoinjdsojnsiojosn33@gmail.com Issue reported by: Applause Internal Team Bug source: Exploratory - Significant User Experience Deterioration Device used: Mac 26.5 / Chrome App Component: Money Requests
Action Performed:
Precondition:
User A creates a Control workspace.
User B has a workspace.
User A invites User B to workspace with approve-only role.
Perform the steps below as User B:
Go to staging.new.expensify.com
Go to invited workspace settings > Rooms.
Expected Result:
Rooms will show available chat.
Actual Result:
Rooms page is empty when opened as approve-only member.
👋 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.
Root cause: Approve-only members get no workspace chat and no Rooms permission, so the Rooms page has nothing to show:
permissions.ts:106-109 gives approve-only only OVERVIEW and MEMBERS. The Member role (:99-105) also gets AGENTS and ROOMS. The PR says approve-only has the "same read access as a member", so leaving out Rooms looks like an oversight.
Member.ts:877-887 skips the workspace chat for roles that can't create expenses. That is intended, but it means the member's own workspace chat no longer appears on the page.
Recommended fix (fix forward): Add AGENTS: READ and ROOMS: WRITE to the APPROVE_ONLY bundle in permissions.ts, and add a unit test. The rooms list comes from the server, so the backend must also return rooms for approve-only members. That part needs a separate internal check.
If neither fix can land before the deploy, revert #102933.
Investigation details
The Rooms page is not new in this release. WorkspaceRoomsPage.tsx:143-149 calls openPolicyRoomsPage for every role. WorkspaceRoomsPage.tsx:92 then shows the workspace rooms and chats stored on the device. This filter does not check the user's role.
[Payment due @nkdengineer] Add Guest workspace role changed the page so the server decides which rooms each role sees. Guests also lack ROOMS access, but they still see their own workspace chat. Approve-only members see neither.
On the App side, ROOMS permission only controls the Create button (WorkspaceRoomsPage.tsx:162). The App permission change alone won't fill the list.
Product may decide approve-only members should not see Rooms. In that case, hide the Rooms menu item for that role in getWorkspaceMenuItems.ts. Don't base that check on ROOMS permission alone, because guests lack it too and should still see the page.
I recommend fixing forward because the bug only affects a new role on Control workspaces, and reverting would undo a 49-file feature with a backend dependency.
Activity
applause-bot commentedon Oct 26, 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/d230c4d81a539171b3493630fdc8368a63f412772febe7f1dba99f406b91a349
melvin-bot commentedon Oct 26, 2026
@flodnv recently merged #102933, but they are OOO right now, so I'll auto-assign someone else.
melvin-bot commentedon Oct 26, 2026
Triggered auto assignment to @grgia (
DeployBlockerCash), see https://stackoverflowteams.com/c/expensify/questions/9980/ for more details.melvin-bot commentedon Oct 26, 2026
@flodnv @Pujan92 you have been assigned to this deploy blocker because you reviewed the offending PR: #102933
github-actions commentedon Oct 26, 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 26, 2026
@ShridharGoel you have been assigned to this deploy blocker because you authored the offending PR: #102933
melvin-bot commentedon Oct 26, 2026
💬 A slack conversation has been started in #expensify-open-source
MelvinBot commentedon Oct 26, 2026
Deploy Blocker Analysis
Causing PR: [Payment due @Pujan92] Add approve-only workspace role. It added the approve-only role, and this bug only affects that role.
Root cause: Approve-only members get no workspace chat and no Rooms permission, so the Rooms page has nothing to show:
permissions.ts:106-109gives approve-only onlyOVERVIEWandMEMBERS. The Member role (:99-105) also getsAGENTSandROOMS. The PR says approve-only has the "same read access as a member", so leaving out Rooms looks like an oversight.Member.ts:877-887skips the workspace chat for roles that can't create expenses. That is intended, but it means the member's own workspace chat no longer appears on the page.Recommended fix (fix forward): Add
AGENTS: READandROOMS: WRITEto theAPPROVE_ONLYbundle inpermissions.ts, and add a unit test. The rooms list comes from the server, so the backend must also return rooms for approve-only members. That part needs a separate internal check.If neither fix can land before the deploy, revert #102933.
Investigation details
WorkspaceRoomsPage.tsx:143-149callsopenPolicyRoomsPagefor every role.WorkspaceRoomsPage.tsx:92then shows the workspace rooms and chats stored on the device. This filter does not check the user's role.ROOMSaccess, but they still see their own workspace chat. Approve-only members see neither.ROOMSpermission only controls the Create button (WorkspaceRoomsPage.tsx:162). The App permission change alone won't fill the list.getWorkspaceMenuItems.ts. Don't base that check onROOMSpermission alone, because guests lack it too and should still see the page.view run
ShridharGoel commentedon Oct 26, 2026
This should be expected, I think an empty state was added but we can check why it is not showing
m-natarajan commentedon Oct 26, 2026
Not Reproducible
Unable to reproduce - Approve-only no longer available
iPhone 14 / iOS 26.6.2
Version 9.5.20-4
IMG_0009.MP4
melvin-bot commentedon Oct 29, 2026
@ShridharGoel Whoops! This issue is 2 days overdue. Let's get this updated quick!