Exempt policy rooms from excludeHidden filter in search#91171
Conversation
Workspace rooms (POLICY_ROOM) should always be discoverable by workspace members via search, regardless of notificationPreference. After opening a workspace room, the backend merges a 'hidden' participant entry which caused the room to disappear from subsequent searches. Co-authored-by: Hans <hungvu193@users.noreply.github.com>
|
@MelvinBot Fill out all the checkbox in your author checklist, fill the QA and Tests sections with this tests: Preconditions: Admin invited an employee to thr workspace
|
|
Done! I've updated the PR body:
|
|
@MelvinBot Mark this PR as ready for review |
|
Done! This PR has been marked as ready for review. ✅ |
|
@hungvu193 Please copy/paste the Reviewer Checklist from here into a new comment on this PR and complete it. If you have the K2 extension, you can simply click: [this button] |
joekaufmanexpensify
left a comment
There was a problem hiding this comment.
Makes sense for product
Reviewer Checklist
Screenshots/VideosAndroid: HybridAppAndroid.movAndroid: mWeb ChromeiOS: HybridAppmAndroid.movScreen.Recording.2026-05-24.at.10.14.56.moviOS: mWeb SafariScreen.Recording.2026-05-24.at.10.17.51.movMacOS: Chrome / SafariScreen.Recording.2026-05-23.at.21.35.41.mov |
|
We did not find an internal engineer to review this PR, trying to assign a random engineer to #90900 as well as to this PR... Please reach out for help on Slack if no one gets assigned! |
chiragsalian
left a comment
There was a problem hiding this comment.
I had to think about this a little bit and compare it to the other proposals but your code here is correct. Thank you for the changes, it LGTM.
|
🚧 @chiragsalian has triggered a test Expensify/App build. You can view the workflow run here. |
|
✋ This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release. |
|
🧪🧪 Use the links below to test this adhoc build on Android, iOS, and Web. Happy testing! 🧪🧪
|
|
🚀 Deployed to staging by https://github.com/chiragsalian in version: 9.3.83-0 🚀
Bundle Size Analysis (Sentry): |
|
I reviewed the changes in this PR against the help site articles under No help site changes are required. This PR is a bug fix that adds @hungvu193, please review the linked help site PR and confirm it reflects the current behavior. Then mark the linked help site PR |
|
🚀 Deployed to production by https://github.com/mountiny in version: 9.3.83-3 🚀
|
Explanation of Change
Workspace rooms (
POLICY_ROOM) should always be discoverable by workspace members via search, regardless ofnotificationPreference. Currently, after a workspace member opens a workspace-visibility room, the backend merges ahiddenparticipant entry (since the user hasn't explicitly joined). On subsequent searches, theexcludeHiddenfilter ingetValidOptions()drops the room because it sees a participant withhiddenpreference.This adds
POLICY_ROOMto the list of chat types exempted from theexcludeHiddenfilter, matching the existing pattern forSELF_DM,POLICY_ADMINS, andGROUP.Fixed Issues
$ #90900
PROPOSAL: #90900 (comment)
Tests
Preconditions: Admin invited an employee to the workspace
Offline tests
N/A - This change only affects search filtering logic which requires server data.
QA Steps
Preconditions: Admin invited an employee to the workspace
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.AI Tests:
Screenshots/Videos
Android: Native
Android: mWeb Chrome
iOS: Native
iOS: mWeb Safari
MacOS: Chrome / Safari