diff --git a/app/authorization/server/startup.js b/app/authorization/server/startup.js index 2ca73f01092f..3fc91efd08f2 100644 --- a/app/authorization/server/startup.js +++ b/app/authorization/server/startup.js @@ -98,7 +98,7 @@ Meteor.startup(function() { { _id: 'save-others-livechat-room-info', roles: ['livechat-manager'] }, { _id: 'remove-closed-livechat-rooms', roles: ['livechat-manager', 'admin'] }, { _id: 'view-livechat-analytics', roles: ['livechat-manager', 'admin'] }, - { _id: 'view-livechat-queue', roles: ['livechat-manager', 'admin'] }, + { _id: 'view-livechat-queue', roles: ['livechat-agent', 'livechat-manager', 'admin'] }, { _id: 'transfer-livechat-guest', roles: ['livechat-manager', 'admin'] }, { _id: 'manage-livechat-managers', roles: ['livechat-manager', 'admin'] }, { _id: 'manage-livechat-agents', roles: ['livechat-manager', 'admin'] }, diff --git a/app/livechat/client/lib/stream/queueManager.js b/app/livechat/client/lib/stream/queueManager.js index 00db09a0effe..9d9223db22e3 100644 --- a/app/livechat/client/lib/stream/queueManager.js +++ b/app/livechat/client/lib/stream/queueManager.js @@ -58,7 +58,7 @@ const addGlobalListener = () => { }; -const subscribe = async (userId, isManager) => { +const subscribe = async (userId) => { const config = await call('livechat:getRoutingConfig'); if (config && config.autoAssignAgent) { return; @@ -66,7 +66,7 @@ const subscribe = async (userId, isManager) => { const agentDepartments = (await getAgentsDepartments(userId)).map((department) => department.departmentId); - const cleanUp = agentDepartments.length ? await addListenerForeachDepartment(agentDepartments) : isManager && addGlobalListener(); + const cleanUp = agentDepartments.length ? await addListenerForeachDepartment(agentDepartments) : addGlobalListener(); updateInquiries(await getInquiriesFromAPI()); diff --git a/client/providers/OmniChannelProvider.tsx b/client/providers/OmniChannelProvider.tsx index a9b450005c44..fa27d9a5832b 100644 --- a/client/providers/OmniChannelProvider.tsx +++ b/client/providers/OmniChannelProvider.tsx @@ -8,7 +8,7 @@ import { OmnichannelContext, OmnichannelContextValue } from '../contexts/Omnicha import { useReactiveValue } from '../hooks/useReactiveValue'; import { useUser, useUserId } from '../contexts/UserContext'; import { useMethodData, AsyncState } from '../contexts/ServerContext'; -import { usePermission, useRole } from '../contexts/AuthorizationContext'; +import { usePermission } from '../contexts/AuthorizationContext'; import { useSetting } from '../contexts/SettingsContext'; import { LivechatInquiry } from '../../app/livechat/client/collections/LivechatInquiry'; import { initializeLivechatInquiryStream } from '../../app/livechat/client/lib/stream/queueManager'; @@ -25,22 +25,21 @@ const emptyContext = { const useOmnichannelInquiries = (): Array => { const uid = useUserId(); - const isOmnichannelManger = useRole('livechat-manager'); const omnichannelPoolMaxIncoming = useSetting('Livechat_guest_pool_max_number_incoming_livechats_displayed') as number; useEffect(() => { const handler = async (): Promise => { - initializeLivechatInquiryStream(uid, isOmnichannelManger); + initializeLivechatInquiryStream(uid); }; (async (): Promise => { - initializeLivechatInquiryStream(uid, isOmnichannelManger); + initializeLivechatInquiryStream(uid); Notifications.onUser('departmentAgentData', handler); })(); return (): void => { Notifications.unUser('departmentAgentData', handler); }; - }, [isOmnichannelManger, uid]); + }, [uid]); return useReactiveValue(useCallback(() => LivechatInquiry.find({ status: 'queued',