A while ago, a new discovery server was announced, which aims to reduce discovery traffic and improve reliability of discovery over WiFi.
However, this servers appears to come with some limitations which are quite serious in practice and do seem unintentional. A typical issue is reported here:
ros2 topic empty with fastdds discovery server - ROS Answers: Open Source Q&A Forum To sum this up,
ros2 topic list is empty when using the discovery server, despite topics being published successfully. Similarly, when calling
ros2 node info on an existing node, you get no topic data for this node.
It is interesting to observe that when you do
ros2 topic echo /chatter while the listener/talker example is running, you get a “this topic does not seem to be published” message, but when you do a
ros2 topic echo /chatter std_msgs/msg/String (that is, in addition you provide the type of the topic), you successfully retrieve the data. This explains why the listener/talker examples work, but
ros2 topic list doesn’t.
All of this leads me to suspect that the filtering approach that has been added in December 2020 is enabled by default, instead of being turned off by default as most people would expect.