PubSub Discovery fails if node initially starts with no peers

I am using the DHT mechanism for peer discovery. The pubsub lets you pass in a discovery object at startup which is great and simplifies the discovery process a lot since I don’t have to now right the ongoing Advertise and FindPeer calls for peers subscribed to same topic to find each other.

However, if I start a node initially with no peers (no connections), subscribe to a topic and then connect it to the peer running the DHT discovery, it fails to find other peers subscribed on the same topic.

The reason for it is that on this line the HandleDiscovery returns immediately with the error error finding peers and unfortunately for that topic discovery loop stops.

Is that by design?

I also noticed, this test is marked as skip and wondering if that is related.

thanks in advance!

this might well be a bug, mind opening an issue in go-libp2p-pubsub?

sure - PubSub Discovery for at topic stops if node initially starts with no peers · Issue #442 · libp2p/go-libp2p-pubsub · GitHub