From 304bd1e77a5442f614aacd2b35f330777118b2cd Mon Sep 17 00:00:00 2001 From: Pinapelz Date: Mon, 19 Oct 2026 15:32:53 -0700 Subject: merge with upstream https://github.com/RblSb/SyncTube --- src/client/JsApi.hx | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) (limited to 'src/client/JsApi.hx') diff --git a/src/client/JsApi.hx b/src/client/JsApi.hx index b576b47..3b4777a 100644 --- a/src/client/JsApi.hx +++ b/src/client/JsApi.hx @@ -58,8 +58,9 @@ class JsApi { @:expose static function hasScriptInHead(url:String):Bool { + final abs = new js.html.URL(url, document.baseURI).href; for (child in document.getElementsByTagName("head")[0].children) { - if ((child : Dynamic).src == url) return true; + if ((child : Dynamic).src == abs) return true; } return false; } @@ -73,9 +74,10 @@ class JsApi { } @:expose - static function addVideoItem(url:String, atEnd:Bool, isTemp:Bool, ?callback:() -> - Void, doCache = false):Void { - main.addVideo(url, atEnd, isTemp, doCache, callback); + static function addVideoItem( + url:String, atEnd:Bool, isTemp:Bool, ?afterSend:() -> Void, doCache = false + ):Void { + main.addVideo(url, atEnd, isTemp, doCache, afterSend); } @:expose @@ -164,14 +166,16 @@ class JsApi { } public static function fireEvents(event:WsEvent):Void { - for (listener in onListeners.reversed()) { + final listeners = onListeners.copy(); + for (listener in listeners.reversed()) { if (listener.type != event.type) continue; listener.callback(event); } - for (listener in onceListeners.reversed()) { + final onces = onceListeners.copy(); + for (listener in onces.reversed()) { if (listener.type != event.type) continue; - listener.callback(event); onceListeners.remove(listener); + listener.callback(event); } } -- cgit v1.2.3