Skip to content

Commit 6f96de8

Browse files
authored
fix: skip muxer negotiation (#3084)
Skips early muxer negotiation during noise handshake since WebRTC incorporates it's own muxer. Fixes an edge case where a node is only configured with the WebRTC-Direct transport and no additional muxers.
1 parent afa5c9f commit 6f96de8

File tree

2 files changed

+6
-3
lines changed
  • packages

2 files changed

+6
-3
lines changed

packages/transport-webrtc/src/private-to-public/utils/connect.ts

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -163,7 +163,8 @@ export async function connect (peerConnection: DirectRTCPeerConnection, ufrag: s
163163
options.log.trace('%s secure inbound', options.role)
164164
await connectionEncrypter.secureInbound(handshakeStream, {
165165
remotePeer: options.remotePeerId,
166-
signal: options.signal
166+
signal: options.signal,
167+
skipStreamMuxerNegotiation: true
167168
})
168169

169170
options.log.trace('%s upgrade outbound', options.role)
@@ -181,7 +182,8 @@ export async function connect (peerConnection: DirectRTCPeerConnection, ufrag: s
181182
options.log.trace('%s secure outbound', options.role)
182183
const result = await connectionEncrypter.secureOutbound(handshakeStream, {
183184
remotePeer: options.remotePeerId,
184-
signal: options.signal
185+
signal: options.signal,
186+
skipStreamMuxerNegotiation: true
185187
})
186188

187189
maConn.remoteAddr = maConn.remoteAddr.encapsulate(`/p2p/${result.remotePeer}`)

packages/transport-webtransport/src/index.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -293,7 +293,8 @@ class WebTransportTransport implements Transport<WebTransportDialEvents> {
293293
onProgress?.(new CustomProgressEvent('webtransport:secure-outbound-connection'))
294294
const { remoteExtensions } = await n.secureOutbound(duplex, {
295295
signal,
296-
remotePeer
296+
remotePeer,
297+
skipStreamMuxerNegotiation: true
297298
})
298299

299300
onProgress?.(new CustomProgressEvent('webtransport:close-authentication-stream'))

0 commit comments

Comments
 (0)