Merge branch 'moderator-tools' into develop

auto_join_3.3
Mészáros Mihály 2020-05-18 13:45:08 +02:00
commit 0a860068b2
27 changed files with 214 additions and 26 deletions

View File

@ -1448,6 +1448,26 @@ export default class RoomClient
peerActions.setStopPeerVideoInProgress(peerId, false)); peerActions.setStopPeerVideoInProgress(peerId, false));
} }
async stopPeerScreenSharing(peerId)
{
logger.debug('stopPeerScreenSharing() [peerId:"%s"]', peerId);
store.dispatch(
peerActions.setStopPeerScreenSharingInProgress(peerId, true));
try
{
await this.sendRequest('moderator:stopScreenSharing', { peerId });
}
catch (error)
{
logger.error('stopPeerScreenSharing() failed: %o', error);
}
store.dispatch(
peerActions.setStopPeerScreenSharingInProgress(peerId, false));
}
async muteAllPeers() async muteAllPeers()
{ {
logger.debug('muteAllPeers()'); logger.debug('muteAllPeers()');
@ -1488,6 +1508,26 @@ export default class RoomClient
roomActions.setStopAllVideoInProgress(false)); roomActions.setStopAllVideoInProgress(false));
} }
async stopAllPeerScreenSharing()
{
logger.debug('stopAllPeerScreenSharing()');
store.dispatch(
roomActions.setStopAllScreenSharingInProgress(true));
try
{
await this.sendRequest('moderator:stopAllScreenSharing');
}
catch (error)
{
logger.error('stopAllPeerScreenSharing() failed: %o', error);
}
store.dispatch(
roomActions.setStopAllScreenSharingInProgress(false));
}
async closeMeeting() async closeMeeting()
{ {
logger.debug('closeMeeting()'); logger.debug('closeMeeting()');
@ -2608,7 +2648,6 @@ export default class RoomClient
case 'moderator:stopVideo': case 'moderator:stopVideo':
{ {
this.disableWebcam(); this.disableWebcam();
this.disableScreenSharing();
store.dispatch(requestActions.notify( store.dispatch(requestActions.notify(
{ {
@ -2621,6 +2660,21 @@ export default class RoomClient
break; break;
} }
case 'moderator:stopScreenSharing':
{
this.disableScreenSharing();
store.dispatch(requestActions.notify(
{
text : intl.formatMessage({
id : 'moderator.muteScreenSharingModerator',
defaultMessage : 'Moderator stopped your screen sharing'
})
}));
break;
}
case 'moderator:kick': case 'moderator:kick':
{ {
// Need some feedback // Need some feedback

View File

@ -86,3 +86,9 @@ export const setStopPeerVideoInProgress = (peerId, flag) =>
type : 'STOP_PEER_VIDEO_IN_PROGRESS', type : 'STOP_PEER_VIDEO_IN_PROGRESS',
payload : { peerId, flag } payload : { peerId, flag }
}); });
export const setStopPeerScreenSharingInProgress = (peerId, flag) =>
({
type : 'STOP_PEER_SCREEN_SHARING_IN_PROGRESS',
payload : { peerId, flag }
});

View File

@ -164,6 +164,12 @@ export const setStopAllVideoInProgress = (flag) =>
payload : { flag } payload : { flag }
}); });
export const setStopAllScreenSharingInProgress = (flag) =>
({
type : 'STOP_ALL_SCREEN_SHARING_IN_PROGRESS',
payload : { flag }
});
export const setCloseMeetingInProgress = (flag) => export const setCloseMeetingInProgress = (flag) =>
({ ({
type : 'CLOSE_MEETING_IN_PROGRESS', type : 'CLOSE_MEETING_IN_PROGRESS',

View File

@ -63,6 +63,22 @@ const ListModerator = (props) =>
/> />
</Button> </Button>
<div className={classes.divider} /> <div className={classes.divider} />
<Button
aria-label={intl.formatMessage({
id : 'room.stopAllScreenSharing',
defaultMessage : 'Stop all screen sharing'
})}
variant='contained'
color='secondary'
disabled={room.stopAllScreenSharingInProgress}
onClick={() => roomClient.stopAllPeerScreenSharing()}
>
<FormattedMessage
id='room.stopAllScreenSharing'
defaultMessage='Stop all screen sharing'
/>
</Button>
<div className={classes.divider} />
<Button <Button
aria-label={intl.formatMessage({ aria-label={intl.formatMessage({
id : 'room.closeMeeting', id : 'room.closeMeeting',

View File

@ -306,6 +306,33 @@ const ListPeer = (props) =>
</IconButton> </IconButton>
</Tooltip> </Tooltip>
} }
{ isModerator && screenConsumer &&
<Tooltip
title={intl.formatMessage({
id : 'tooltip.muteScreenSharingModerator',
defaultMessage : 'Mute participant screen share globally'
})}
placement='bottom'
>
<IconButton
className={classes.buttons}
style={{ color: green[500] }}
disabled={!isModerator || peer.stopPeerScreenSharingInProgress}
onClick={(e) =>
{
e.stopPropagation();
roomClient.stopPeerScreenSharing(peer.id);
}}
>
{ !screenConsumer.remotelyPaused ?
<ScreenIcon />
:
<ScreenOffIcon />
}
</IconButton>
</Tooltip>
}
{children} {children}
</div> </div>
); );

View File

@ -82,6 +82,11 @@ const peer = (state = initialState, action) =>
stopPeerVideoInProgress : action.payload.flag stopPeerVideoInProgress : action.payload.flag
}; };
case 'STOP_PEER_SCREEN_SHARING_IN_PROGRESS':
return {
...state,
stopPeerScreenSharingInProgress : action.payload.flag
};
default: default:
return state; return state;
} }
@ -118,6 +123,7 @@ const peers = (state = initialState, action) =>
case 'REMOVE_PEER_ROLE': case 'REMOVE_PEER_ROLE':
case 'STOP_PEER_AUDIO_IN_PROGRESS': case 'STOP_PEER_AUDIO_IN_PROGRESS':
case 'STOP_PEER_VIDEO_IN_PROGRESS': case 'STOP_PEER_VIDEO_IN_PROGRESS':
case 'STOP_PEER_SCREEN_SHARING_IN_PROGRESS':
{ {
const oldPeer = state[action.payload.peerId]; const oldPeer = state[action.payload.peerId];

View File

@ -226,6 +226,9 @@ const room = (state = initialState, action) =>
case 'STOP_ALL_VIDEO_IN_PROGRESS': case 'STOP_ALL_VIDEO_IN_PROGRESS':
return { ...state, stopAllVideoInProgress: action.payload.flag }; return { ...state, stopAllVideoInProgress: action.payload.flag };
case 'STOP_ALL_SCREEN_SHARING_IN_PROGRESS':
return { ...state, stopAllScreenSharingInProgress: action.payload.flag };
case 'CLOSE_MEETING_IN_PROGRESS': case 'CLOSE_MEETING_IN_PROGRESS':
return { ...state, closeMeetingInProgress: action.payload.flag }; return { ...state, closeMeetingInProgress: action.payload.flag };

View File

@ -88,6 +88,7 @@
"tooltip.muteParticipantAudioModerator": null, "tooltip.muteParticipantAudioModerator": null,
"tooltip.muteParticipantVideoModerator": null, "tooltip.muteParticipantVideoModerator": null,
"tooltip.muteScreenSharingModerator": null, "tooltip.muteScreenSharingModerator": null,
"room.stopAllScreenSharing": null,
"label.roomName": "房间名称", "label.roomName": "房间名称",
"label.chooseRoomButton": "继续", "label.chooseRoomButton": "继续",
@ -187,5 +188,6 @@
"moderator.clearChat": null, "moderator.clearChat": null,
"moderator.clearFiles": null, "moderator.clearFiles": null,
"moderator.muteAudio": null, "moderator.muteAudio": null,
"moderator.muteVideo": null "moderator.muteVideo": null,
"moderator.muteScreenSharing": null
} }

View File

@ -63,6 +63,7 @@
"room.about": null, "room.about": null,
"room.shortcutKeys": null, "room.shortcutKeys": null,
"room.browsePeersSpotlight": null, "room.browsePeersSpotlight": null,
"room.stopAllScreenSharing": null,
"me.mutedPTT": null, "me.mutedPTT": null,
@ -186,5 +187,6 @@
"moderator.clearChat": null, "moderator.clearChat": null,
"moderator.clearFiles": null, "moderator.clearFiles": null,
"moderator.muteAudio": null, "moderator.muteAudio": null,
"moderator.muteVideo": null "moderator.muteVideo": null,
} "moderator.muteScreenSharing": null
}

View File

@ -64,6 +64,7 @@
"room.about": "Über", "room.about": "Über",
"room.shortcutKeys": "Tastaturkürzel", "room.shortcutKeys": "Tastaturkürzel",
"room.browsePeersSpotlight": null, "room.browsePeersSpotlight": null,
"room.stopAllScreenSharing": null,
"me.mutedPTT": "Du bist stummgeschaltet. Halte die SPACE-Taste um zu sprechen", "me.mutedPTT": "Du bist stummgeschaltet. Halte die SPACE-Taste um zu sprechen",
@ -187,5 +188,6 @@
"moderator.clearChat": "Moderator hat Chat gelöscht", "moderator.clearChat": "Moderator hat Chat gelöscht",
"moderator.clearFiles": "Moderator hat geteilte Dateiliste gelöscht", "moderator.clearFiles": "Moderator hat geteilte Dateiliste gelöscht",
"moderator.muteAudio": "Moderator hat dich stummgeschaltet", "moderator.muteAudio": "Moderator hat dich stummgeschaltet",
"moderator.muteVideo": "Moderator hat dein Video gestoppt" "moderator.muteVideo": "Moderator hat dein Video gestoppt",
"moderator.muteScreenSharing": null
} }

View File

@ -64,6 +64,7 @@
"room.about": null, "room.about": null,
"room.shortcutKeys": null, "room.shortcutKeys": null,
"room.browsePeersSpotlight": null, "room.browsePeersSpotlight": null,
"room.stopAllScreenSharing": null,
"me.mutedPTT": null, "me.mutedPTT": null,
@ -187,5 +188,6 @@
"moderator.clearChat": null, "moderator.clearChat": null,
"moderator.clearFiles": null, "moderator.clearFiles": null,
"moderator.muteAudio": null, "moderator.muteAudio": null,
"moderator.muteVideo": null "moderator.muteVideo": null,
"moderator.muteScreenSharing": null
} }

View File

@ -64,6 +64,7 @@
"room.about": null, "room.about": null,
"room.shortcutKeys": null, "room.shortcutKeys": null,
"room.browsePeersSpotlight": null, "room.browsePeersSpotlight": null,
"room.stopAllScreenSharing": null,
"me.mutedPTT": null, "me.mutedPTT": null,
@ -187,5 +188,6 @@
"moderator.clearChat": null, "moderator.clearChat": null,
"moderator.clearFiles": null, "moderator.clearFiles": null,
"moderator.muteAudio": null, "moderator.muteAudio": null,
"moderator.muteVideo": null "moderator.muteVideo": null,
"moderator.muteScreenSharing": null
} }

View File

@ -64,6 +64,7 @@
"room.about": "About", "room.about": "About",
"room.shortcutKeys": "Shortcut Keys", "room.shortcutKeys": "Shortcut Keys",
"room.browsePeersSpotlight": "Browse participants into Spotlight", "room.browsePeersSpotlight": "Browse participants into Spotlight",
"room.stopAllScreenSharing": "Stop all screen sharing",
"me.mutedPTT": "You are muted, hold down SPACE-BAR to talk", "me.mutedPTT": "You are muted, hold down SPACE-BAR to talk",
@ -187,5 +188,6 @@
"moderator.clearChat": "Moderator cleared the chat", "moderator.clearChat": "Moderator cleared the chat",
"moderator.clearFiles": "Moderator cleared the files", "moderator.clearFiles": "Moderator cleared the files",
"moderator.muteAudio": "Moderator muted your audio", "moderator.muteAudio": "Moderator muted your audio",
"moderator.muteVideo": "Moderator muted your video" "moderator.muteVideo": "Moderator muted your video",
} "moderator.muteScreenSharing": "Moderator muted your screen sharing"
}

View File

@ -64,6 +64,7 @@
"room.about": null, "room.about": null,
"room.shortcutKeys": null, "room.shortcutKeys": null,
"room.browsePeersSpotlight": null, "room.browsePeersSpotlight": null,
"room.stopAllScreenSharing": null,
"me.mutedPTT": null, "me.mutedPTT": null,
@ -187,5 +188,6 @@
"moderator.clearChat": null, "moderator.clearChat": null,
"moderator.clearFiles": null, "moderator.clearFiles": null,
"moderator.muteAudio": null, "moderator.muteAudio": null,
"moderator.muteVideo": null "moderator.muteVideo": null,
"moderator.muteScreenSharing": null
} }

View File

@ -64,6 +64,7 @@
"room.about": null, "room.about": null,
"room.shortcutKeys": null, "room.shortcutKeys": null,
"room.browsePeersSpotlight": null, "room.browsePeersSpotlight": null,
"room.stopAllScreenSharing": null,
"me.mutedPTT": null, "me.mutedPTT": null,
@ -186,5 +187,6 @@
"moderator.clearChat": null, "moderator.clearChat": null,
"moderator.clearFiles": null, "moderator.clearFiles": null,
"moderator.muteAudio": null, "moderator.muteAudio": null,
"moderator.muteVideo": null "moderator.muteVideo": null,
"moderator.muteScreenSharing": null
} }

View File

@ -64,6 +64,7 @@
"room.about": "O programu", "room.about": "O programu",
"room.shortcutKeys": "Prečaci", "room.shortcutKeys": "Prečaci",
"room.browsePeersSpotlight": "Pretražite sudionike u središtu pažnje", "room.browsePeersSpotlight": "Pretražite sudionike u središtu pažnje",
"room.stopAllScreenSharing": null,
"me.mutedPTT": "Utišani ste, pritisnite i držite SPACE tipku za razgovor", "me.mutedPTT": "Utišani ste, pritisnite i držite SPACE tipku za razgovor",
@ -187,5 +188,6 @@
"moderator.clearChat": "Moderator je izbrisao razgovor", "moderator.clearChat": "Moderator je izbrisao razgovor",
"moderator.clearFiles": "Moderator je izbrisao datoteke", "moderator.clearFiles": "Moderator je izbrisao datoteke",
"moderator.muteAudio": "Moderator je utišao tvoj zvuk", "moderator.muteAudio": "Moderator je utišao tvoj zvuk",
"moderator.muteVideo": "Moderator je zaustavio tvoj video" "moderator.muteVideo": "Moderator je zaustavio tvoj video",
"moderator.muteScreenSharing": null
} }

View File

@ -63,7 +63,8 @@
"room.help": "Segítség", "room.help": "Segítség",
"room.about": "Névjegy", "room.about": "Névjegy",
"room.shortcutKeys": "Billentyűparancsok", "room.shortcutKeys": "Billentyűparancsok",
"room.browsePeersSpotlight": null, "room.browsePeersSpotlight": "Résztvevők böngészése",
"room.stopAllScreenSharing": "Minden képernyőmegosztás leállítása",
"me.mutedPTT": "Némítva vagy, ha beszélnél nyomd le a szóköz billentyűt", "me.mutedPTT": "Némítva vagy, ha beszélnél nyomd le a szóköz billentyűt",
@ -187,5 +188,6 @@
"moderator.clearChat": "A moderátor kiürítette a chat történelmet", "moderator.clearChat": "A moderátor kiürítette a chat történelmet",
"moderator.clearFiles": "A moderátor kiürítette a file megosztás történelmet", "moderator.clearFiles": "A moderátor kiürítette a file megosztás történelmet",
"moderator.muteAudio": "A moderátor elnémította a hangod", "moderator.muteAudio": "A moderátor elnémította a hangod",
"moderator.muteVideo": "A moderátor elnémította a videód" "moderator.muteVideo": "A moderátor elnémította a videód",
"moderator.muteScreenSharing": "A moderátor leállította képernyőmegosztásod"
} }

View File

@ -64,7 +64,8 @@
"room.about": "Informazioni su", "room.about": "Informazioni su",
"room.shortcutKeys": "Scorciatoie da tastiera", "room.shortcutKeys": "Scorciatoie da tastiera",
"room.browsePeersSpotlight": null, "room.browsePeersSpotlight": null,
"room.stopAllScreenSharing": null,
"me.mutedPTT": "Sei mutato, tieni premuto SPAZIO per parlare", "me.mutedPTT": "Sei mutato, tieni premuto SPAZIO per parlare",
"roles.gotRole": "Hai ottenuto il ruolo: {role}", "roles.gotRole": "Hai ottenuto il ruolo: {role}",
@ -187,5 +188,6 @@
"moderator.clearChat": "Il moderatore ha pulito la chat", "moderator.clearChat": "Il moderatore ha pulito la chat",
"moderator.clearFiles": "Il moderatore ha pulito i file", "moderator.clearFiles": "Il moderatore ha pulito i file",
"moderator.muteAudio": "Il moderatore ha mutato il tuo audio", "moderator.muteAudio": "Il moderatore ha mutato il tuo audio",
"moderator.muteVideo": "Il moderatore ha fermato il tuo video" "moderator.muteVideo": "Il moderatore ha fermato il tuo video",
"moderator.muteScreenSharing": null
} }

View File

@ -63,6 +63,7 @@
"room.about": null, "room.about": null,
"room.shortcutKeys": null, "room.shortcutKeys": null,
"room.browsePeersSpotlight": null, "room.browsePeersSpotlight": null,
"room.stopAllScreenSharing": null,
"me.mutedPTT": "Jūs esat noklusināts. Turiet taustiņu SPACE-BAR, lai runātu", "me.mutedPTT": "Jūs esat noklusināts. Turiet taustiņu SPACE-BAR, lai runātu",
@ -181,5 +182,6 @@
"moderator.clearChat": "Moderators nodzēsa tērziņus", "moderator.clearChat": "Moderators nodzēsa tērziņus",
"moderator.clearFiles": "Moderators notīrīja failus", "moderator.clearFiles": "Moderators notīrīja failus",
"moderator.muteAudio": "Moderators noklusināja jūsu mikrofonu", "moderator.muteAudio": "Moderators noklusināja jūsu mikrofonu",
"moderator.muteVideo": "Moderators atslēdza jūsu kameru" "moderator.muteVideo": "Moderators atslēdza jūsu kameru",
"moderator.muteScreenSharing": null
} }

View File

@ -64,6 +64,7 @@
"room.about": null, "room.about": null,
"room.shortcutKeys": null, "room.shortcutKeys": null,
"room.browsePeersSpotlight": null, "room.browsePeersSpotlight": null,
"room.stopAllScreenSharing": null,
"me.mutedPTT": "Du er dempet, hold nede SPACE for å snakke", "me.mutedPTT": "Du er dempet, hold nede SPACE for å snakke",
@ -187,5 +188,6 @@
"moderator.clearChat": "Moderator tømte chatten", "moderator.clearChat": "Moderator tømte chatten",
"moderator.clearFiles": "Moderator fjernet filer", "moderator.clearFiles": "Moderator fjernet filer",
"moderator.muteAudio": "Moderator mutet lyden din", "moderator.muteAudio": "Moderator mutet lyden din",
"moderator.muteVideo": "Moderator mutet videoen din" "moderator.muteVideo": "Moderator mutet videoen din",
"moderator.muteScreenSharing": null
} }

View File

@ -64,6 +64,7 @@
"room.about": "O pogramie", "room.about": "O pogramie",
"room.shortcutKeys": "Skróty klawiaturowe", "room.shortcutKeys": "Skróty klawiaturowe",
"room.browsePeersSpotlight": null, "room.browsePeersSpotlight": null,
"room.stopAllScreenSharing": null,
"me.mutedPTT": "Masz wyciszony mikrofon, przytrzymaj spację aby mówić", "me.mutedPTT": "Masz wyciszony mikrofon, przytrzymaj spację aby mówić",
@ -187,5 +188,6 @@
"moderator.clearChat": "Moderator wyczyścił chat", "moderator.clearChat": "Moderator wyczyścił chat",
"moderator.clearFiles": "Moderator wyczyścił pliki", "moderator.clearFiles": "Moderator wyczyścił pliki",
"moderator.muteAudio": "Moderator wyciszył audio", "moderator.muteAudio": "Moderator wyciszył audio",
"moderator.muteVideo": "Moderator wyciszył twoje video" "moderator.muteVideo": "Moderator wyciszył twoje video",
"moderator.muteScreenSharing": null
} }

View File

@ -64,6 +64,7 @@
"room.about": null, "room.about": null,
"room.shortcutKeys": null, "room.shortcutKeys": null,
"room.browsePeersSpotlight": null, "room.browsePeersSpotlight": null,
"room.stopAllScreenSharing": null,
"me.mutedPTT": null, "me.mutedPTT": null,
@ -187,5 +188,6 @@
"moderator.clearChat": null, "moderator.clearChat": null,
"moderator.clearFiles": null, "moderator.clearFiles": null,
"moderator.muteAudio": null, "moderator.muteAudio": null,
"moderator.muteVideo": null "moderator.muteVideo": null,
"moderator.muteScreenSharing": null
} }

View File

@ -64,6 +64,7 @@
"room.about": null, "room.about": null,
"room.shortcutKeys": null, "room.shortcutKeys": null,
"room.browsePeersSpotlight": null, "room.browsePeersSpotlight": null,
"room.stopAllScreenSharing": null,
"me.mutedPTT": null, "me.mutedPTT": null,
@ -187,5 +188,6 @@
"moderator.clearChat": null, "moderator.clearChat": null,
"moderator.clearFiles": null, "moderator.clearFiles": null,
"moderator.muteAudio": null, "moderator.muteAudio": null,
"moderator.muteVideo": null "moderator.muteVideo": null,
"moderator.muteScreenSharing": null
} }

View File

@ -64,6 +64,7 @@
"room.about": null, "room.about": null,
"room.shortcutKeys": null, "room.shortcutKeys": null,
"room.browsePeersSpotlight": null, "room.browsePeersSpotlight": null,
"room.stopAllScreenSharing": null,
"me.mutedPTT": null, "me.mutedPTT": null,
@ -179,5 +180,6 @@
"devices.screenSharingError": "Ekranınıza erişilirken bir hata oluştu", "devices.screenSharingError": "Ekranınıza erişilirken bir hata oluştu",
"devices.cameraDisconnected": "Kamera bağlı değil", "devices.cameraDisconnected": "Kamera bağlı değil",
"devices.cameraError": "Kameranıza erişilirken bir hata oluştu" "devices.cameraError": "Kameranıza erişilirken bir hata oluştu",
"moderator.muteScreenSharing": null
} }

View File

@ -63,7 +63,8 @@
"room.help": "幫助", "room.help": "幫助",
"room.about": "關於", "room.about": "關於",
"room.shortcutKeys": "鍵盤快速鍵", "room.shortcutKeys": "鍵盤快速鍵",
"room.stopAllScreenSharing": null,
"me.mutedPTT": "您已靜音,請按下 空白鍵 來說話", "me.mutedPTT": "您已靜音,請按下 空白鍵 來說話",
"roles.gotRole": "您已取得身份: {role}", "roles.gotRole": "您已取得身份: {role}",
@ -186,5 +187,6 @@
"moderator.clearChat": "管理員清除了聊天", "moderator.clearChat": "管理員清除了聊天",
"moderator.clearFiles": "管理員清除了所有檔案", "moderator.clearFiles": "管理員清除了所有檔案",
"moderator.muteAudio": "您已被管理員靜音", "moderator.muteAudio": "您已被管理員靜音",
"moderator.muteVideo": "您的視訊已被管理員關閉" "moderator.muteVideo": "您的視訊已被管理員關閉",
"moderator.muteScreenSharing": null
} }

View File

@ -64,6 +64,7 @@
"room.about": null, "room.about": null,
"room.shortcutKeys": null, "room.shortcutKeys": null,
"room.browsePeersSpotlight": null, "room.browsePeersSpotlight": null,
"room.stopAllScreenSharing": null,
"me.mutedPTT": null, "me.mutedPTT": null,
@ -187,5 +188,6 @@
"moderator.clearChat": null, "moderator.clearChat": null,
"moderator.clearFiles": null, "moderator.clearFiles": null,
"moderator.muteAudio": null, "moderator.muteAudio": null,
"moderator.muteVideo": null "moderator.muteVideo": null,
} "moderator.muteScreenSharing": null
}

View File

@ -1441,6 +1441,38 @@ class Room extends EventEmitter
break; break;
} }
case 'moderator:stopAllScreenSharing':
{
if (!this._hasPermission(peer, MODERATE_ROOM))
throw new Error('peer not authorized');
// Spread to others
this._notification(peer.socket, 'moderator:stopScreenSharing', null, true);
cb();
break;
}
case 'moderator:stopScreenSharing':
{
if (!this._hasPermission(peer, MODERATE_ROOM))
throw new Error('peer not authorized');
const { peerId } = request.data;
const stopVideoPeer = this._peers[peerId];
if (!stopVideoPeer)
throw new Error(`peer with id "${peerId}" not found`);
this._notification(stopVideoPeer.socket, 'moderator:stopScreenSharing');
cb();
break;
}
case 'moderator:closeMeeting': case 'moderator:closeMeeting':
{ {
if (!this._hasPermission(peer, MODERATE_ROOM)) if (!this._hasPermission(peer, MODERATE_ROOM))