Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: go-libp2p 0.36 and /webrtc-direct listener #10463

Merged
merged 14 commits into from
Aug 6, 2024

Conversation

lidel
Copy link
Member

@lidel lidel commented Jul 26, 2024

This PR enables WebRTC Direct transport and related listener by default.

updated.

Closes #9724
Closes #10416 as well (because go-libp2p now pulls-in gorilla/websocket v1.5.3)
Part of #10436

@lidel lidel changed the title Feat/enable webrtc direct feat: enable /udp/4002/webrtc-direct Jul 26, 2024
@lidel lidel changed the base branch from master to chore/update-dependencies July 26, 2024 17:14
@lidel lidel mentioned this pull request Jul 26, 2024
32 tasks
@lidel lidel force-pushed the feat/enable-webrtc-direct branch 4 times, most recently from af67762 to a8d2a7c Compare July 26, 2024 17:36
@lidel lidel changed the base branch from chore/update-dependencies to master July 26, 2024 17:37
@lidel lidel force-pushed the feat/enable-webrtc-direct branch 2 times, most recently from 009fb8d to 9773255 Compare July 26, 2024 17:40
@lidel lidel added the status/blocked Unable to be worked further until needs are met label Jul 29, 2024
@lidel
Copy link
Member Author

lidel commented Jul 29, 2024

(Marking as blocked until go-libp2p allows listening on the same UDP port as /quic-v1)

@lidel lidel changed the title feat: enable /udp/4002/webrtc-direct feat: enable /udp/4001/webrtc-direct Jul 30, 2024
@lidel lidel force-pushed the feat/enable-webrtc-direct branch 2 times, most recently from 37eafa3 to 7177fe0 Compare July 30, 2024 15:49
@lidel lidel changed the title feat: enable /udp/4001/webrtc-direct feat: enable /udp/4001/webrtc-direct listener Jul 30, 2024
@lidel lidel force-pushed the feat/enable-webrtc-direct branch from 7177fe0 to b3719e8 Compare July 30, 2024 16:04
@lidel lidel force-pushed the feat/enable-webrtc-direct branch from b3719e8 to f7868e6 Compare July 30, 2024 17:32
go.mod Outdated Show resolved Hide resolved
go.sum Outdated
Comment on lines 333 to 334
github.com/ipfs/boxo v0.20.0 h1:umUl7q1v5g5AX8FPLTnZBvvagLmT+V0Tt61EigP81ec=
github.com/ipfs/boxo v0.20.0/go.mod h1:mwttn53Eibgska2DhVIj7ln3UViq7MVHRxOMb+ehSDM=
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💭 unsure why go mode downgraded things here, likely boxo uses more modern deps than go-libp2p

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

provisionally resolved in 2f78519

@lidel
Copy link
Member Author

lidel commented Aug 1, 2024

Confirmed most important things work:

  • /udp/4001/webrtc-direct multiaddr works form browser (tested on https://helia-identify.on.fleek.co)
  • public /udp/4001/webrtc-direct listener is correctly inferred from the public IP learned via AutoNAT and other means (private LAN with UPnP).

I'll now work on migration to add listener to existing user's machines.

lidel added a commit to ipfs/fs-repo-migrations that referenced this pull request Aug 1, 2024
migration will sort them anyway, so making the default order
match the migration output to minimize the noise
@lidel lidel force-pushed the feat/enable-webrtc-direct branch from 39cf60f to 6ee6545 Compare August 1, 2024 19:58
lidel added a commit to ipfs/fs-repo-migrations that referenced this pull request Aug 2, 2024
* chore: init fs-repo-15-to-16 from 14-to-16

mostly copy & paste

* feat: append /webrtc-direct if /quic-v1 present

context:
ipfs/kubo#10463

* chore: bump latest version

* test: sharness last

this way we see if latest migration e2e passes, before we hit any issues
with legacy tooling tests, which is takes second place in priority
of things
@lidel
Copy link
Member Author

lidel commented Aug 2, 2024

Migrations are ready (fs-repo-15-to-16 work happened in: ipfs/fs-repo-migrations#190, ipfs/distributions#1091).

One go-test fails due to boxo version being lowered – this PR is waiting for final go-libp2p release (which hopefully will resolve dep conflict with boxo).

@lidel lidel removed the status/blocked Unable to be worked further until needs are met label Aug 5, 2024
@lidel lidel force-pushed the feat/enable-webrtc-direct branch from b7edd93 to 9e69bb7 Compare August 5, 2024 19:21
@lidel lidel changed the title feat: enable /udp/4001/webrtc-direct listener feat: go-libp2p 0.36 and /udp/4001/webrtc-direct listener Aug 5, 2024
@lidel lidel changed the title feat: go-libp2p 0.36 and /udp/4001/webrtc-direct listener feat: go-libp2p 0.36 and /webrtc-direct listener Aug 5, 2024
@lidel lidel marked this pull request as ready for review August 5, 2024 22:08
@lidel lidel requested a review from a team as a code owner August 5, 2024 22:08
@lidel lidel requested a review from MarcoPolo August 5, 2024 22:09
same as retracted v0.36.0, but with fixed tag
Copy link
Member Author

@lidel lidel left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All green.
Merging to have wider window of testing master with go-libp2p 0.36.1 before we tag Kubo 0.30.0-rc1, and also rebase #10468

@lidel lidel merged commit feef085 into master Aug 6, 2024
14 checks passed
@lidel lidel deleted the feat/enable-webrtc-direct branch August 6, 2024 19:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

websocket: failed to close network connection: close tcp Enable WebRTC Transport
2 participants