diff --git a/server/player/index.html b/server/player/index.html index 5cec7dd..9f0cc6b 100644 --- a/server/player/index.html +++ b/server/player/index.html @@ -494,6 +494,12 @@ let lastWallSync = null; let currentVideoEl = null; let currentItemStartedAt = 0; + // Bumped on every renderContent dispatch; a buffered (async warm-play) render captures it at start + // and bails if it changes. MUST be declared here with the other top-level state — the cold-start + // cached-playlist restore calls renderContent (→ renderSeq++) during initial script execution, which + // is long before line ~2400 where the buffered-video code lives. A `let` down there left renderSeq in + // the temporal dead zone on that early path → "can't access 'renderSeq' before initialization". + let renderSeq = 0; // Followers in a video wall must stay silent — N copies of the same audio // slightly out of sync produce a flanged echo across the wall. Only the // leader is allowed to make sound. This helper is the single source of @@ -2405,10 +2411,10 @@ // frame as the wipe's `to`, run the GL wipe, then mount + resume the real