From bde8e0e2315901a8a539e389a1884295304ace3c Mon Sep 17 00:00:00 2001
From: TheCryptoDonkey <147930957+TheCryptoDonkey@users.noreply.github.com>
Date: Tue, 27 Oct 2026 19:24:04 +0000
Subject: [PATCH] fix: pin SDP framing capability handshake
---
docs/media-showcase.md | 12 ++++++++++--
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(+), 24 deletions(-)
diff --git a/docs/media-showcase.md b/docs/media-showcase.md
index cc653e8..229bbe9 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 `59575d9c30b44fdf010ce382612224519cbd7ffc`
-([source change](https://github.com/forgesworn/relayswarm/commit/59575d9c30b44fdf010ce382612224519cbd7ffc)).
+The player pins RelaySwarm source `d2bc7be4e5e7374af0e04aae45b1f1d2f0e890c4`
+([source change](https://github.com/forgesworn/relayswarm/commit/d2bc7be4e5e7374af0e04aae45b1f1d2f0e890c4)).
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
@@ -34,6 +34,14 @@ eligible retained bytes are announced with HAVE before its FETCH claim is
withdrawn, including synchronous hls.js disposal. Unknown keys do not delay
playback for another hash; cache limits, serving permission and receiver
verification remain unchanged. No new peer-wait policy is enabled.
+
+Peers exchange object-framing support in their existing authenticated SDP
+offers and answers. The SDK accepts explicit version 2 only after the current
+admitted remote SDP has been installed, allowing an eligible new channel to
+use verified range transfers without waiting for a periodic presence
+announcement. Missing or unsupported values retain the conservative
+presence-derived behaviour. Peer admission, verification, upload limits and
+HTTP deadlines remain unchanged.
Earlier playback measurements below retain their captured revisions; this
update does not establish a bandwidth saving, smoother playback or a new
physical-phone result.
diff --git a/scripts/build-media-peer-demo.mjs b/scripts/build-media-peer-demo.mjs
index ea42a62..e8a8981 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 = '59575d9c30b44fdf010ce382612224519cbd7ffc';
+const SOURCE = 'd2bc7be4e5e7374af0e04aae45b1f1d2f0e890c4';
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 dd30fd3..1b3e3ad 100644
--- a/site/live-media.html
+++ b/site/live-media.html
@@ -123,6 +123,6 @@
-
+