From 70455551ce7fbb781b59611f16bc082d8f734dd2 Mon Sep 17 00:00:00 2001 From: Amateur Audio Dude <168192910+AmateurAudioDude@users.noreply.github.com> Date: Sun, 20 Apr 2025 17:29:25 +1000 Subject: [PATCH] fix mobile https wakelock error on stream reconnect --- web/js/3las/util/3las.helpers.js | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/web/js/3las/util/3las.helpers.js b/web/js/3las/util/3las.helpers.js index 548d3d3..85dac3d 100644 --- a/web/js/3las/util/3las.helpers.js +++ b/web/js/3las/util/3las.helpers.js @@ -103,18 +103,29 @@ var WakeLock = /** @class */ (function () { try { navigator.wakeLock.request("screen").then(function (obj) { _this.Logger.Log("WakeLock request successful. Lock acquired."); - _this.LockElement = obj; + _this.LockElement = obj; // Not an audio/video element + console.log("WakeLock request successful."); }, function () { _this.Logger.Log("WakeLock request failed."); + console.log("WakeLock request failed."); }); } catch (err) { this.Logger.Log("WakeLock request failed."); + console.log("WakeLock request failed."); } } else { this.Logger.Log("WakeLock video loop started."); - this.LockElement.play(); + + // Ensure it's an audio/video element before calling play() + if (_this.LockElement instanceof HTMLMediaElement) { + _this.LockElement.play().catch(err => { + console.error("LockElement failed:", err); + }); + } else { + console.warn("LockElement not a media element or already assigned."); + } } }; WakeLock.AddSourceToVideo = function (element, type, dataURI) {