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

In-browser webrtc_websys can open stream, but can not accept stream from dialed peer (identify times out in golang basic host) #5646

Open
lat-murmeldjur opened this issue Oct 24, 2024 · 0 comments

Comments

@lat-murmeldjur
Copy link

lat-murmeldjur commented Oct 24, 2024

Summary

While trying to implement(https://github.com/lat-murmeldjur/weeb-3) an in-browser wasm client (to ethswarm bee network), the following behaviour was encountered.
Dial to go-libp2p over webrtc-direct succeeds.
Can open custom handshake stream which succeeds.
After the handshake the other side tries to open a stream, which fails with identify failed: context timed out.
My in-browser node has identify behaviour, also tried manually accepting off-band identify streams, also tried triggering identify push manually from browser, however, the result is in each case the golang side failing with this line while trying to open a new stream.
Any help appreciated

Expected behavior

After .accept(P_PROTOCOL) and polling incoming streams, dialed node should be able to open stream towards browser node on the already existing connection.

Actual behavior

After .accept(P_PROTOCOL) and polling incoming streams, dialed (golang libp2p server) node times out with identify failed.

Relevant log output

No response

Possible Solution

Using websocket instead of webrtc with upgrade(V1), yamux and noise solved the issue. Is there a similar way to add a multiplexer to webrtc_websys transport?

Version

Latest git commit

Would you like to work on fixing this bug ?

Yes

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

No branches or pull requests

1 participant