From 35d6ed18cd81b0e82fb0ffcfa88fd6a48571bdab Mon Sep 17 00:00:00 2001 From: dumdum7 <95527094+dumdum7@users.noreply.github.com> Date: Sun, 29 Dec 2024 15:13:28 +0100 Subject: [PATCH] Remove ensurePlaying() from timeupdate listener The ensurePlaying() call was removed from the timeupdate listener due to unnecessary API calls, which could trigger before previous calls completed. This functionality isn't required in timeupdate, as listening to playing and pause events suffices. An edge case where the video is played before the script upload finishes has also been addressed to ensure proper handling. --- ui/v2.5/src/components/ScenePlayer/ScenePlayer.tsx | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/ui/v2.5/src/components/ScenePlayer/ScenePlayer.tsx b/ui/v2.5/src/components/ScenePlayer/ScenePlayer.tsx index 4c94d433e8f..eee51df7751 100644 --- a/ui/v2.5/src/components/ScenePlayer/ScenePlayer.tsx +++ b/ui/v2.5/src/components/ScenePlayer/ScenePlayer.tsx @@ -424,6 +424,10 @@ export const ScenePlayer: React.FC = ({ interactiveReady.current = false; uploadScript(scene.paths.funscript || "").then(() => { interactiveReady.current = true; + // if video is already playing when upload finishes, trigger script play + const player = getPlayer(); + if (player && !player.paused()) + interactiveClient.play(player.currentTime()); }); } }, [ @@ -514,9 +518,6 @@ export const ScenePlayer: React.FC = ({ function timeupdate(this: VideoJsPlayer) { if (this.paused()) return; - if (scene.interactive && interactiveReady.current) { - interactiveClient.ensurePlaying(this.currentTime()); - } setTime(this.currentTime()); }