Skip to content

Commit 43d0cfc

Browse files
fix: Missing ABAC Icons on sidebar items (#39054)
1 parent ba0be3c commit 43d0cfc

4 files changed

Lines changed: 14 additions & 2 deletions

File tree

.changeset/shaggy-cars-watch.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
---
2+
"@rocket.chat/meteor": patch
3+
"@rocket.chat/ui-contexts": patch
4+
---
5+
6+
Fixes a mismatch in the room icons on the sidebar items, ABAC Managed rooms were not displaying the correct icon

apps/meteor/client/cachedStores/RoomsCachedStore.ts

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import type { IOmnichannelRoom, IRoom, IRoomWithRetentionPolicy } from '@rocket.chat/core-typings';
2-
import { DEFAULT_SLA_CONFIG, isRoomNativeFederated, LivechatPriorityWeight } from '@rocket.chat/core-typings';
2+
import { DEFAULT_SLA_CONFIG, isABACManagedRoom, isRoomNativeFederated, LivechatPriorityWeight } from '@rocket.chat/core-typings';
33
import type { SubscriptionWithRoom } from '@rocket.chat/ui-contexts';
44

55
import { PrivateCachedStore } from '../lib/cachedStores/CachedStore';
@@ -53,7 +53,9 @@ class RoomsCachedStore extends PrivateCachedStore<IRoom> {
5353
source: (room as IOmnichannelRoom | undefined)?.source,
5454
queuedAt: (room as IOmnichannelRoom | undefined)?.queuedAt,
5555
federated: room.federated,
56-
56+
...(isABACManagedRoom(room) && {
57+
abacAttributes: room.abacAttributes,
58+
}),
5759
...(isRoomNativeFederated(room) && {
5860
federation: room.federation,
5961
}),

packages/core-typings/src/IRoom.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -132,6 +132,9 @@ export const isPublicDiscussion = (room: Partial<IRoom>): room is IRoom => isDis
132132
export const isPublicRoom = (room: Partial<IRoom>): room is IRoom => room.t === 'c';
133133
export const isPrivateRoom = (room: Partial<IRoom>): room is IRoom => room.t === 'p';
134134

135+
export const isABACManagedRoom = (room: Partial<IRoom>): room is IRoom & { abacAttributes: IAbacAttributeDefinition[] } =>
136+
Array.isArray(room?.abacAttributes) && room.abacAttributes.length > 0;
137+
135138
export interface IDirectMessageRoom extends Omit<IRoom, 'default' | 'featured' | 'u' | 'name'> {
136139
t: 'd';
137140
uids: Array<string>;

packages/ui-contexts/src/types/SubscriptionWithRoom.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ export type SubscriptionWithRoom = ISubscription &
1515
| 'muted'
1616
| 'federated'
1717
| 'lm'
18+
| 'abacAttributes'
1819
> &
1920
Pick<
2021
IOmnichannelRoom,

0 commit comments

Comments
 (0)