libp2p / libp2p/go-libp2p

WebRTC-Direct transport at risk due to Chrome changes (ICE credential munging): alignment and next steps

Open
#3,499 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Go
Stars
6.9k
Forks
1.3k
Avg merge
13d 21h
Merged PRs (30d)
1

Description

Description
Sharing a consolidated update from recent discussions across js-libp2p, py-libp2p and specs to align on implications for go-libp2p.

This needs attention as it impacts core connectivity guarantees for browser and server communication.

Context
Recent threads to review:

Summary of the Problem
The /webrtc-direct transport is at risk due to upcoming changes in Google Chrome.

  • WebRTC-Direct exists primarily to allow:
  1. browser to public libp2p server dialing
  2. without signalling
  3. without CA-signed certificates
  • This relies on ICE credential munging (SDP manipulation)
  • Chrome is introducing a restriction (WebRTC-NoSdpMangleUfrag) that breaks this mechanism

When this change rolls out:

  • Browser to server connectivity via /webrtc-direct may stop working
  • The core reason for this transport’s existence is undermined

Impact

  • Existing assumptions about browser and server direct connectivity may no longer hold
  • /webrtc-direct could degrade or become unusable
  • Affects:
  1. onboarding flows
  2. public node access patterns
  3. browser-based libp2p applications

Priority
High

This is externally driven (Chrome changes) and affects a foundational transport. Delay risks breaking connectivity for browser-based libp2p usage.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reviewing the linked specs#672 discussion, js-libp2p PR #3480, specs PR #715, and py-libp2p PR #1309 to understand the Chrome restriction and its impact on go-libp2p. Identify the affected WebRTC-Direct entry points and tests in this repository, then define agreed next steps and a testable connectivity outcome with maintainers.

Written by the indexing model from the issue text.

Assessment

Tech stack
go
Domain
audio-video-rtc, networking
Issue type
Bug
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.