From 63ce8ed920f1f48908e9123e7132955314696f56 Mon Sep 17 00:00:00 2001
From: TheCryptoDonkey <147930957+TheCryptoDonkey@users.noreply.github.com>
Date: Tue, 27 Oct 2026 21:54:37 +0000
Subject: [PATCH 1/3] fix: ship startup fragment position roundoff correction
---
docs/media-showcase.md | 9 +++++++--
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, 29 insertions(+), 24 deletions(-)
diff --git a/docs/media-showcase.md b/docs/media-showcase.md
index 927659e..bce82bb 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 `7cef698203e03b2a1038d135590375caacfed922`
-([source change](https://github.com/forgesworn/relayswarm/commit/7cef698203e03b2a1038d135590375caacfed922)).
+The player pins RelaySwarm source `45616b8141987f88e6054e2fdfbeae34710e714b`
+([source change](https://github.com/forgesworn/relayswarm/commit/45616b8141987f88e6054e2fdfbeae34710e714b)).
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
@@ -31,6 +31,11 @@ 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.
+Parsed fragment start positions can differ by floating-point roundoff between
+playlist revisions. Startup now accepts that difference within its existing
+tolerance instead of falsely cancelling an otherwise matching context; sequence,
+continuity, level, key, size and duration checks remain authoritative. This
+correction does not establish stall-free or sustained 4K playback.
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
withdrawn, including synchronous hls.js disposal. Unknown keys do not delay
diff --git a/scripts/build-media-peer-demo.mjs b/scripts/build-media-peer-demo.mjs
index 4328298..6a3bffc 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 = '7cef698203e03b2a1038d135590375caacfed922';
+const SOURCE = '45616b8141987f88e6054e2fdfbeae34710e714b';
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 b462229..dcda001 100644
--- a/site/live-media.html
+++ b/site/live-media.html
@@ -123,6 +123,6 @@
-
+