CLAUDE.md: document leave+enter as the way to pick up SDP/codec deploys
Every live RTCPeerConnection is locked to the SDP it was created with. Page JS reloads don't reach into existing PCs; only fresh negotiation does. So when a deploy changes fmtp / rtcp-fb / SFU codec registration, the user just leaves the space and re-enters — no full tab reload needed. Caught during the NACK+transport-cc+usedtx rollout: hard refresh wasn't required, leave+enter was enough.
This commit is contained in:
parent
ca51044e6c
commit
acc7c1c6ab
1 changed files with 22 additions and 0 deletions
22
CLAUDE.md
22
CLAUDE.md
|
|
@ -154,3 +154,25 @@ recomputes the hashes (`web/stamp.js`).
|
||||||
`~/git/www.unturf.com/zebra-report/` (`chat.html` → `index.html`;
|
`~/git/www.unturf.com/zebra-report/` (`chat.html` → `index.html`;
|
||||||
`zebra-audio.html`, `how-it-works.html`, `host-your-own.html` keep their
|
`zebra-audio.html`, `how-it-works.html`, `host-your-own.html` keep their
|
||||||
names) → commit → **push to origin**.
|
names) → commit → **push to origin**.
|
||||||
|
|
||||||
|
### Picking up a new SDP/codec deploy — `leave` then `enter`, no full reload
|
||||||
|
|
||||||
|
When a deploy changes SDP munging (`preferStereoOpus`, codec fmtp params,
|
||||||
|
RTCP feedback negotiation, or the SFU's codec registration), the page-level
|
||||||
|
JS update is not enough on its own. Every existing `RTCPeerConnection`
|
||||||
|
(`sfuPubPC`, `sfuSubPC`, `sfuScreenPC`, `sfuCameraPC`, every mesh peer) is
|
||||||
|
locked to whatever was negotiated when it was created — its codec params,
|
||||||
|
its rtcp-fb, its stereo flag, its NACK behaviour. The PC won't re-negotiate
|
||||||
|
those on its own, and the new client code can't retroactively rewrite the
|
||||||
|
old SDP.
|
||||||
|
|
||||||
|
So after the new build is live, the user does **not** need a full tab reload:
|
||||||
|
|
||||||
|
- **`leave` then `enter` the space.** That tears down every PC and rebuilds
|
||||||
|
them, so the next offer/answer round trip is the new client talking to
|
||||||
|
the new SFU with the new params. Fresh negotiation, all changes active.
|
||||||
|
|
||||||
|
Full reload is only required for changes to the page shell itself (DOM
|
||||||
|
structure, button wiring, CSS, the entry/orientation flow before joining a
|
||||||
|
space). For everything that lives inside an existing PC, prefer
|
||||||
|
`leave` + `enter`.
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue