diff --git a/bigbluebutton-html5/imports/api/users/server/handlers/presenterAssigned.js b/bigbluebutton-html5/imports/api/users/server/handlers/presenterAssigned.js index ddd232040867e1ae3c7d21ff9dc22971b542f76b..c8a94271bab4a1d3ddcbb6d4df46f84f292ce27b 100644 --- a/bigbluebutton-html5/imports/api/users/server/handlers/presenterAssigned.js +++ b/bigbluebutton-html5/imports/api/users/server/handlers/presenterAssigned.js @@ -29,7 +29,6 @@ export default function handlePresenterAssigned(credentials, meetingId) { // It's been handled here because right now akka-apps don't handle all cases scenarios. if (!prevPresenter) { const currentDefaultPodPresenter = PresentationPods.findOne(defaultPodSelector); - const { currentPresenterId } = currentDefaultPodPresenter; const podPresenterCredentials = { @@ -37,15 +36,17 @@ export default function handlePresenterAssigned(credentials, meetingId) { requesterUserId: assignedBy, }; - if (currentDefaultPodPresenter.currentPresenterId !== '') { - const oldPresenter = Users.findOne({ userId: currentPresenterId }); + if (currentPresenterId === '') { + return assignPresenter(podPresenterCredentials, presenterId); + } + + const oldPresenter = Users.findOne({ userId: currentPresenterId, connectionStatus: 'offline' }); - if (oldPresenter.connectionStatus === 'offline') { - return assignPresenter(podPresenterCredentials, presenterId); - } - return true; + if (oldPresenter) { + return assignPresenter(podPresenterCredentials, presenterId); } - return assignPresenter(podPresenterCredentials, presenterId); + + return true; } return changeRole(ROLE_PRESENTER, false, prevPresenter.userId, meetingId, assignedBy);