diff --git a/app/authorization/server/startup.js b/app/authorization/server/startup.js index 7db90f9e32c47..a2015e46816f6 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 00db09a0effe3..9d9223db22e33 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 fdaaf672c5824..df7e1735f3958 100644 --- a/client/providers/OmniChannelProvider.tsx +++ b/client/providers/OmniChannelProvider.tsx @@ -7,7 +7,7 @@ import { Notifications } from '../../app/notifications/client'; import { OmnichannelContext, OmnichannelContextValue } from '../contexts/OmnichannelContext'; import { useReactiveValue } from '../hooks/useReactiveValue'; import { useUser, useUserId } from '../contexts/UserContext'; -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'; @@ -26,22 +26,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',