From b64a23ae9c037ca62ab359f4c7dd8bc98de66765 Mon Sep 17 00:00:00 2001 From: "Aaron D. Lee" Date: Sat, 4 Jul 2026 20:07:29 -0400 Subject: [PATCH] slice-5: sweep stale comments from Task 2 review (re-pins seam hash) Co-Authored-By: Claude Fable 5 Claude-Session: https://claude.ai/code/session_012QndwfhjyTiZcUYp87dwW8 Signed-off-by: Aaron D. Lee --- .github/workflows/ci.yml | 4 ++-- crates/rutster-media/src/rtc_session.rs | 4 ++-- crates/rutster/src/media_thread.rs | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 0a817b1..5b79bb7 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -49,10 +49,10 @@ jobs: # bind/advertised address split + port range). If a legitimate # change is needed, update the pinned blob hashes below in the same # PR — loud and reviewable by design. - - name: Seam gate — loop_driver + rtc_session byte-identical to slice-3 + - name: Seam gate — loop_driver frozen (slice-3) + rtc_session pinned (slice-5) run: | EXPECTED_LOOP_DRIVER='744bf314edf7f4925c8bb3bd0f5176dbc88f8113' - EXPECTED_RTC_SESSION='76bbcf8c85be0041abda1bcc3390b299fcef3d6f' + EXPECTED_RTC_SESSION='f47d63b9a2883d37066a93c9daa0e2cf8816bec4' GOT_LOOP_DRIVER=$(git hash-object crates/rutster-media/src/loop_driver.rs) GOT_RTC_SESSION=$(git hash-object crates/rutster-media/src/rtc_session.rs) if [ "$GOT_LOOP_DRIVER" != "$EXPECTED_LOOP_DRIVER" ]; then diff --git a/crates/rutster-media/src/rtc_session.rs b/crates/rutster-media/src/rtc_session.rs index 76bbcf8..f47d63b 100644 --- a/crates/rutster-media/src/rtc_session.rs +++ b/crates/rutster-media/src/rtc_session.rs @@ -130,8 +130,8 @@ pub struct RtcSession { pub(crate) pipe: Box, /// Local UDP socket str0m sends `Transmit` packets out on and /// receives `Input::Receive` packets from. Bound to an ephemeral - /// port at construction; the local candidate passed to str0m at - /// offer-accept time uses this address. + /// port at construction. The SDP candidate passed to the peer uses + /// the separate `advertised_addr` field, not this socket's address. pub(crate) socket: std::net::UdpSocket, /// Local socket address — cached because `local_addr()` is a syscall. pub(crate) local_addr: SocketAddr, diff --git a/crates/rutster/src/media_thread.rs b/crates/rutster/src/media_thread.rs index a50adcd..4fc7ec8 100644 --- a/crates/rutster/src/media_thread.rs +++ b/crates/rutster/src/media_thread.rs @@ -64,8 +64,8 @@ impl Default for MediaThreadOpts { #[derive(Debug)] pub enum MediaCmd { /// Construct a fresh RtcSession, store it under a new ChannelId, reply. - /// The thread constructs RtcSession::new() (keeps all RtcSession - /// construction on the thread that owns it). + /// The thread constructs RtcSession::new_with_config(&opts.media_cfg) + /// (keeps all RtcSession construction on the thread that owns it). Register { tap_url: url::Url, reply: oneshot::Sender>,