From 1b22f16514944376fcd1290e6c8a7d209c421f1c Mon Sep 17 00:00:00 2001 From: rainbow napkin Date: Tue, 7 Jul 2026 21:38:13 -0400 Subject: [PATCH] Fixed critical queueing bug --- README.md | 3 ++- package.json | 4 ++-- src/app/channel/media/queue.js | 8 +++++++- 3 files changed, 11 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index f7fd6b2..8321637 100644 --- a/README.md +++ b/README.md @@ -9,8 +9,9 @@ Canopy -0.1-Alpha (Panama Red) - Hotfix 4 +0.1-Alpha (Panama Red) - Hotfix 5 ========= +(This build is an offshoot branch as a lazy way to apply this update both to current and future code in the dev branch) Canopy - /ˈkæ.nə.pi/: - The upper layer of foliage and branches of a forest, containing the majority of animal life. diff --git a/package.json b/package.json index 8d3c69d..e9b53e8 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "canopy-of-alpha", - "version": "0.1.4", - "canopyDisplayVersion": "0.1-Alpha (Panama Red) - Hotfix 4", + "version": "0.1.5", + "canopyDisplayVersion": "0.1-Alpha (Panama Red) - Hotfix 5", "license": "AGPL-3.0-only", "dependencies": { "@braintree/sanitize-url": "^7.1.1", diff --git a/src/app/channel/media/queue.js b/src/app/channel/media/queue.js index 0036019..31cf72d 100644 --- a/src/app/channel/media/queue.js +++ b/src/app/channel/media/queue.js @@ -353,6 +353,12 @@ class queue{ throw loggerUtils.exceptionSmith(`Unable to find channel document ${this.channel.name} while queue item!`, "queue"); } + //If the user doesn't have permission to be doing this shit + if(!((!this.locked && await chanDB.permCheck(socket.user, 'scheduleMedia')) || await chanDB.permCheck(socket.user, 'scheduleAdmin'))){ + //Fuggettabouttit! + return; + } + //If something is playing if(this.nowPlaying != null){ //Capture currently playing object @@ -399,7 +405,7 @@ class queue{ ); //Validate mode input, and default to overwrite - this.liveMode = (data.mode == "pushback") ? "pushback" : "overwrite"; + this.liveMode = (data != null && data.mode == "pushback") ? "pushback" : "overwrite"; //Throw stream lock this.streamLock = true;