From 319bb7fa2c984da45422fa81d12b4a5226beb493 Mon Sep 17 00:00:00 2001 From: DanConwayDev Date: Wed, 25 Feb 2026 11:21:45 +0000 Subject: fix IPv6 connection failures with Happy Eyeballs (RFC 8305) Implement a custom WebSocketTransport that races IPv6 and IPv4 connections with a 250ms head start for IPv6, matching browser behavior. This prevents broken IPv6 from blocking all relay connections indefinitely. This is a temporary fix until the upstream async-wsocket PR is merged: https://github.com/shadowylab/async-wsocket/pull/42 --- Cargo.toml | 2 ++ 1 file changed, 2 insertions(+) (limited to 'Cargo.toml') diff --git a/Cargo.toml b/Cargo.toml index 7adf6ff..721893e 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -14,6 +14,7 @@ categories = ["command-line-utilities","development-tools"] [dependencies] anyhow = "1.0.98" async-trait = "0.1.88" +async-wsocket = "0.13.1" # TEMPORARY: remove when transport.rs is deleted. See transport.rs header. auth-git2 = "0.5.8" chacha20poly1305 = "0.10.1" chrono = "0.4" @@ -39,6 +40,7 @@ serde = { version = "1.0.219", features = ["derive"] } serde_json = "1.0.140" serde_yaml = "0.9.34" tokio = { version = "1.46.1", features = ["full"] } +tokio-tungstenite = "0.26.2" # TEMPORARY: remove when transport.rs is deleted. See transport.rs header. urlencoding = "2.1.3" zeroize = "1.8.1" -- cgit v1.2.3