js-libp2p doesn't create a new stream

My full source code is available here: GitHub - Gbr22/p2ptunnel

listener:

$ node listener.js
Listener ready, listening on:
/ip4/192.168.0.101/tcp/10333/p2p/QmcrQZ6RJdpYuGvZqD5QEHAv6qX4BrQLJLQPQUrTrzdcgm                                                                             m
/ip4/127.0.0.1/tcp/10333/p2p/QmcrQZ6RJdpYuGvZqD5QEHAv6qX4BrQLJLQPQUrTrzdcgm   
Connected to:  Qma3GsJmB47xYuyahPZPSadh1avvxfyYQwk8R3UnFrQ6aP

dialer:

$ node dialer.js
Dialer ready, listening on:
/ip4/192.168.0.101/tcp/61305/p2p/Qma3GsJmB47xYuyahPZPSadh1avvxfyYQwk8R3UnFrQ6aP                                                                           aP
/ip4/127.0.0.1/tcp/61305/p2p/Qma3GsJmB47xYuyahPZPSadh1avvxfyYQwk8R3UnFrQ6aP  
Connected to:  QmcrQZ6RJdpYuGvZqD5QEHAv6qX4BrQLJLQPQUrTrzdcgm

The expected outcome would be to have new stream with protocol: /p2ptunnel/1.0.0 logged to both the listener and the dialer.

But for some reason await connection.newStream(Protocol.id) doesn’t resolve and doesn’t reject either

The current latest libp2p package is broken. You can specify a more recent specific version, as mentioned in the issue, but the real solution is for the maintainers to publish a new latest version, so that this stops happening to new developers.

Updating the package fixed my issue. Thank you!