From 18a8f9ac85e765a00c15a31b9ee96684d441411f Mon Sep 17 00:00:00 2001 From: rustdesk Date: Tue, 25 Aug 2026 14:46:04 +0800 Subject: [PATCH] bump hbb_common: name the family a WebRTC session runs over `stream_type` reaches the UI as the transport that won the race, and every other transport already carries the family in that label - the v6 punch reports `IPv6`. WebRTC does not: one label covers both families, and it is the one path whose real remote address can differ from the rendezvous-observed one the session is identified by. Refine it at the hand-off to the UI rather than at the source: five sites in client.rs compare `typ == "WebRTC"`, so widening the label there would silently move control flow. Co-Authored-By: Claude Opus 5 Claude-Session: https://claude.ai/code/session_019UzcMTdYTEv2QbMHcTSUy3 --- src/client/io_loop.rs | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/client/io_loop.rs b/src/client/io_loop.rs index 9fc07895d..7d892648e 100644 --- a/src/client/io_loop.rs +++ b/src/client/io_loop.rs @@ -185,6 +185,14 @@ impl Remote { .unwrap() .set_connected(); let is_secured = peer.is_secured(); + // Only WebRTC needs refining: its label names the transport that won the race, + // not the family ICE ended up nominating, and it is the one path where the two + // can disagree with the address the rendezvous observed. + let stream_type = if peer.webrtc_remote_ipv6().await.unwrap_or(false) { + "WebRTC/IPv6" + } else { + stream_type + }; self.handler .set_connection_type(is_secured, direct, stream_type); // flutter -> connection_ready if !is_secured