diff --git a/server/player/index.html b/server/player/index.html index 95681ee..317bbe2 100644 --- a/server/player/index.html +++ b/server/player/index.html @@ -1606,7 +1606,21 @@ if (!isPlaying) return; const item = playlist[currentIndex]; if (!item || advanceTimer) return; // solo/leader that already has its timer armed -> nothing to do - const needsSoloTimer = !!item.widget_id || (typeof item.mime_type === 'string' && item.mime_type.startsWith('image/')); + // Video and YouTube were excluded here on the grounds that they "self-advance via their own + // end handlers" — but the handler that is live right now was built for the mode we have just + // LEFT. A group-rendered video was created with `loop = !!groupSync` and a wall-follower + // video with `isFollower` true, and both are captured in the closure at render time. So on + // leaving a sync group or a wall, that element loops forever and nothing re-renders: the + // screen sits on one clip permanently, and later refreshes take the "unchanged" branch + // because the