Pin examples to reactor-runtime 3.2.5 - #157
Open
ggoldens wants to merge 1 commit into
Open
Conversation
reactor-runtime 3.2.4 depends on reactor-webrtc 0.12.0, whose IceCandidate constructor rejects the end-of-candidates marker (an empty candidate string, RFC 8838) that browsers like Firefox trickle per m-section. The rejection aborts SDP negotiation, so sessions from those browsers never connect against a locally built image. reactor-runtime 3.2.5 takes reactor-webrtc 0.12.1, which accepts the marker as a no-op. Bumping the examples' pin and reactor.yaml's build.runtime_version makes images built with reactor build carry the fixed binding. An integration test feeds the marker to a negotiated peer so a binding downgrade breaks the suite instead of sessions. Signed-off-by: Germán Goldenstein <german.goldenstein@gmail.com>
ggoldens
force-pushed
the
german/pin-examples-runtime-3.2.5
branch
from
August 27, 2026 21:25
97796c2 to
affa93a
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why
The brightness and echo examples pin reactor-runtime 3.2.4, which depends on reactor-webrtc 0.12.0. That binding rejects the end-of-candidates marker — an empty ICE candidate string that browsers such as Firefox trickle per m-section (RFC 8838) — with a hard error. On the session path this aborts SDP negotiation, so clients on those browsers never connect against a locally built image, while Chrome (which signals end-of-gathering differently) works.
reactor-runtime 3.2.5 takes reactor-webrtc 0.12.1, which accepts the marker as a no-op (#154).
What Changed
Bumps both examples from 3.2.4 to 3.2.5, keeping the two places in sync as the pins require: the
reactor-runtime==line inrequirements.txtandbuild.runtime_versioninreactor.yaml. Images produced byreactor buildafter this change carry the fixed binding.Also pins the contract itself: an integration test (
test_add_ice_accepts_the_end_of_candidates_marker) feeds an empty marker to a negotiated peer against the real binding. libwebrtc's own candidate callback never produces one, so no existing test covered it — 0.12.0 fails it with the production error (Expected candidate got), 0.12.1 passes, and any future binding downgrade breaks the suite instead of browser sessions.