From 166f2f44522c45f2aded6802aee2fa6c8981172e Mon Sep 17 00:00:00 2001 From: Manuel Martin Date: Fri, 23 Jun 2023 16:45:18 +0200 Subject: [PATCH 1/2] Check spawn permissions when adding media from chat --- src/utils/chat-commands.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/src/utils/chat-commands.ts b/src/utils/chat-commands.ts index fb921bd559..f5951b521f 100644 --- a/src/utils/chat-commands.ts +++ b/src/utils/chat-commands.ts @@ -40,6 +40,7 @@ const FLAG_ANIMATE_LOAD = "--animate"; const FLAG_NO_OBJECT_MENU = "--no-menu"; const ADD_FLAGS = [FLAG_RESIZE, FLAG_RECENTER, FLAG_ANIMATE_LOAD, FLAG_NO_OBJECT_MENU]; export function add(world: HubsWorld, avatarPov: Object3D, args: string[]) { + if (!APP.hubChannel!.can("spawn_and_move_media")) return; args = args.filter(arg => arg); if (args.length) { const initialData = { From ac486ce00f7df67ea8e297019b8b81abd8219704 Mon Sep 17 00:00:00 2001 From: Manuel Martin Date: Fri, 23 Jun 2023 16:45:45 +0200 Subject: [PATCH 2/2] Avoid unnecessary eid access --- src/scene-entry-manager.js | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/src/scene-entry-manager.js b/src/scene-entry-manager.js index fb171d3715..6dda8ce82b 100644 --- a/src/scene-entry-manager.js +++ b/src/scene-entry-manager.js @@ -256,7 +256,7 @@ export default class SceneEntryManager { spawnFromFileList([src]); } } else { - spawnMediaInfrontOfPlayerAndReturn(src, contentOrigin).eid; + spawnMediaInfrontOfPlayerAndReturn(src, contentOrigin); } }; @@ -365,10 +365,12 @@ export default class SceneEntryManager { } else { currentVideoShareEntity = spawnMediaInfrontOfPlayerAndReturn(this.mediaDevicesManager.mediaStream, undefined); // Wire up custom removal event which will stop the stream. - currentVideoShareEntity.setAttribute( - "emit-scene-event-on-remove", - `event:${MediaDevicesEvents.VIDEO_SHARE_ENDED}` - ); + if (currentVideoShareEntity) { + currentVideoShareEntity.setAttribute( + "emit-scene-event-on-remove", + `event:${MediaDevicesEvents.VIDEO_SHARE_ENDED}` + ); + } } this.scene.emit("share_video_enabled", { source: isDisplayMedia ? MediaDevices.SCREEN : MediaDevices.CAMERA });