diff --git a/xwebrtc/dialer.go b/xwebrtc/dialer.go index 24bf9b98..17ace216 100644 --- a/xwebrtc/dialer.go +++ b/xwebrtc/dialer.go @@ -116,10 +116,11 @@ func (wc *WorkspaceDialer) peerConnection(ctx context.Context, workspaceID strin } go func() { err = waitForDataChannelOpen(ctx, control) + _ = control.Close() if err != nil { - wc.log.Fatal(ctx, "waiting for data channel open", slog.Error(err)) + _ = conn.Close(websocket.StatusAbnormalClosure, "data channel timed out") + return } - _ = control.Close() _ = conn.Close(websocket.StatusNormalClosure, "rtc connected") }()