From 61baa6eb576cfc5e3d1e99b712551856d6056b7d Mon Sep 17 00:00:00 2001
From: TheCryptoDonkey <147930957+TheCryptoDonkey@users.noreply.github.com>
Date: Tue, 27 Oct 2026 20:36:16 +0000
Subject: [PATCH] fix: pin bounded startup load budget
---
docs/media-showcase.md | 18 ++++++++++--------
scripts/build-media-peer-demo.mjs | 2 +-
site/live-media.html | 2 +-
site/llms.txt | 2 +-
site/media-lab.html | 2 +-
site/media-lab.mjs | 4 ++--
site/media-listener-session.mjs | 2 +-
site/media-public-swarm.mjs | 4 ++--
site/template.html | 2 +-
site/vendor/media-peer-demo.NOTICE.txt | 2 +-
site/vendor/media-peer-demo.build.json | 10 +++++-----
site/vendor/media-peer-demo.js | 8 ++++----
site/vendor/relayswarm-core.NOTICE.txt | 2 +-
site/vendor/relayswarm-transfer-worker.js | 2 +-
14 files changed, 32 insertions(+), 30 deletions(-)
diff --git a/docs/media-showcase.md b/docs/media-showcase.md
index 229bbe9..927659e 100644
--- a/docs/media-showcase.md
+++ b/docs/media-showcase.md
@@ -16,8 +16,8 @@ The recording label sits with the source caption below the player. It does
not cover the picture or Safari’s native fullscreen control when controls
appear.
-The player pins RelaySwarm source `d2bc7be4e5e7374af0e04aae45b1f1d2f0e890c4`
-([source change](https://github.com/forgesworn/relayswarm/commit/d2bc7be4e5e7374af0e04aae45b1f1d2f0e890c4)).
+The player pins RelaySwarm source `7cef698203e03b2a1038d135590375caacfed922`
+([source change](https://github.com/forgesworn/relayswarm/commit/7cef698203e03b2a1038d135590375caacfed922)).
It retains the successful peer receipt's stats when hls.js disposes of the
losing HTTP loader, covered by ten regressions using the actual hls.js 1.7.3
loaders. It also retains a fully verified contiguous future prefix before considering
@@ -26,8 +26,10 @@ interval falls behind the room target. The original first response remains
unchanged; releasing it still requires fresh verified coverage of the current
target and measured recovery headroom. Startup remains
bounded to four objects within the existing 24 MiB reservation; steady
-warm-ahead keeps its three-object limit. The eight-second deadline, authority
-checks and explicit refusal for insufficient capacity remain. The Rust/WASM
+warm-ahead keeps its three-object limit. Startup now has twelve seconds from
+the original first-fragment load entry, clipped to a shorter parent load
+deadline; ordinary speculative requests keep their eight-second expiry.
+Authority checks and explicit refusal for insufficient capacity remain. The Rust/WASM
binary is unchanged.
When an owned whole-source response finishes and its key is already known,
eligible retained bytes are announced with HAVE before its FETCH claim is
@@ -75,8 +77,8 @@ separate networks and public TURN were not exercised.
A terminal, unreleased startup barrier now stops that current pipeline and
restores an explicit Play retry instead of leaving HLS to retry a permanently
failed loader. Cancelled or retired setups and ordinary retryable HLS errors
-retain their existing ownership rules. This handling does not fix the cause of
-the eight-second startup deadline or extend its deadline. Saved reports retain
+retain their existing ownership rules. That terminal-error handling alone did not fix the cause of
+the then-eight-second startup deadline or extend its deadline. Saved reports retain
the last observed target, verified interval and required headroom, plus held
object/byte counts. These are diagnostic snapshots, not proof that those bytes
remain resident after a failed barrier has been cleared.
@@ -189,8 +191,8 @@ For a new full-recording room, discovery reserves a local candidate identity
without publishing an active listener or starting its clock. The original HLS
pipeline prepares verified encoded media at raw position zero. Its SDK startup
barrier holds the first callback until contiguous media covers measured source
-recovery headroom, within four startup objects, 24 MiB and the original
-eight-second deadline. It then acknowledges the room start over the existing relays, anchors
+recovery headroom, within four startup objects, 24 MiB and a twelve-second
+budget from the original load entry, clipped to a shorter parent deadline. It then acknowledges the room start over the existing relays, anchors
that same timeline once, and repeats fresh target, authority and coverage checks
before releasing the callback. Preparation is not decoded playback or an active
watcher. The trusted play request and visible player remain the same.
diff --git a/scripts/build-media-peer-demo.mjs b/scripts/build-media-peer-demo.mjs
index e8a8981..4328298 100644
--- a/scripts/build-media-peer-demo.mjs
+++ b/scripts/build-media-peer-demo.mjs
@@ -7,7 +7,7 @@ import { tmpdir } from 'node:os';
import { dirname, join, resolve } from 'node:path';
import { fileURLToPath, pathToFileURL } from 'node:url';
-const SOURCE = 'd2bc7be4e5e7374af0e04aae45b1f1d2f0e890c4';
+const SOURCE = '7cef698203e03b2a1038d135590375caacfed922';
const sha = bytes => createHash('sha256').update(bytes).digest('hex');
const root = fileURLToPath(new URL('../', import.meta.url));
diff --git a/site/live-media.html b/site/live-media.html
index 1b3e3ad..b462229 100644
--- a/site/live-media.html
+++ b/site/live-media.html
@@ -123,6 +123,6 @@
-
+