diff --git a/talpid-wireguard/src/ephemeral.rs b/talpid-wireguard/src/ephemeral.rs index 9b146de66f75..c8df8835e745 100644 --- a/talpid-wireguard/src/ephemeral.rs +++ b/talpid-wireguard/src/ephemeral.rs @@ -118,8 +118,10 @@ async fn config_ephemeral_peers_inner( >, #[cfg(target_os = "android")] tun_provider: Arc>, ) -> Result<(), CloseMsg> { + // NOTE: This one often fails with multihop on Windows, even though the handshake afterwards + // succeeds. So we try anyway if it fails. #[cfg(force_wireguard_handshake)] - establish_tunnel_connection(tunnel, connectivity).await?; + let _ = establish_tunnel_connection(tunnel, connectivity).await; let ephemeral_private_key = PrivateKey::new_from_random(); let close_obfs_sender = close_obfs_sender.clone();