diff --git a/.changeset/shy-actors-jump.md b/.changeset/shy-actors-jump.md new file mode 100644 index 0000000000000..2d9967854e895 --- /dev/null +++ b/.changeset/shy-actors-jump.md @@ -0,0 +1,5 @@ +--- +'@rocket.chat/meteor': patch +--- + +Fixes special characters not being escaped in the visitor name shown in the Omnichannel queue side panel's message preview diff --git a/apps/meteor/client/views/navigation/sidepanel/omnichannel/InquireSidePanelItem.tsx b/apps/meteor/client/views/navigation/sidepanel/omnichannel/InquireSidePanelItem.tsx index bc33f6f06d197..7210ba0f66c23 100644 --- a/apps/meteor/client/views/navigation/sidepanel/omnichannel/InquireSidePanelItem.tsx +++ b/apps/meteor/client/views/navigation/sidepanel/omnichannel/InquireSidePanelItem.tsx @@ -1,5 +1,6 @@ import { isOmnichannelRoom } from '@rocket.chat/core-typings'; import { SidebarV2ItemIcon as SidebarItemIcon } from '@rocket.chat/fuselage'; +import { escapeHTML } from '@rocket.chat/string-helpers'; import { RoomAvatar } from '@rocket.chat/ui-avatar'; import { useUserId } from '@rocket.chat/ui-contexts'; import { memo } from 'react'; @@ -29,7 +30,8 @@ const InquireSidePanelItem = ({ room, openedRoom, ...props }: InquireSidePanelIt const time = 'lastMessage' in room ? room.lastMessage?.ts : undefined; const message = - room.lastMessage && `${room.lastMessage.u.name || room.lastMessage.u.username}: ${normalizeNavigationMessage(room.lastMessage, t)}`; + room.lastMessage && + `${escapeHTML(room.lastMessage.u.name || room.lastMessage.u.username)}: ${normalizeNavigationMessage(room.lastMessage, t)}`; const title = roomCoordinator.getRoomName(room.t, room) || ''; const href = roomCoordinator.getRouteLink(room.t, room) || '';