Get info on items automatically on Service Discovery
Gajim provides a Service Discovery that uses JEP-0030. When that window is opened, it browses the current server, and lists the available items [1]. The information provided by the server about every item in the discovery is the item jid and optionally the item name:
the <item/> child MUST possess a 'jid' attribute specifying the JID of the item and MAY possess a 'name' attribute specifying a natural-language name for the item
Ejabberd does not provide the name, so Gajim can't show it when first discovering ejabberd servers (jabberes.org, jabber.ru). However, when the user clicks on an item, Gajim sends a request to the server for more info on that item, and ejabberd answers with the name.
This same behaviour is available on Psi 0.9.3: open the Service Discovery, disable the checkbox 'Obtain automatically information for the element', and then discover jabberes.org. It will not show the names until you click on the items. Now enable the checkbox and browse jabber.ru. Psi will request not only the list of items, but will also request additional information for every one, and will receive item's names. Now the names are shown as desired.
Gajim, Psi and ejabberd all work as defined in JEP-30, so there are no bugs to fix. But Gajim+ejabberd do not work as desired, one (or both) of them should be improved.
Solution 1: improve ejabberd. I was planning to improve ejabberd, so it includes the 'name' property even if it's not explicitly requested by the client and the JEP30 does not require it. But this is not a good idea, since not all clients will be interested on that information. Mobile clients, PDAs, that pay for bytes transmitted will not want to spend bytes (and money) just to get the services' names. Desktop clients (Gajim, Psi, Tkabber) should be responsible to request additional information.
Solution 2: improve Gajim. Automatically request additional information for every item in the discovery, like Psi. Add an option to the Service Discovery window, or to Preferences->Advanced->Miscellaneus, or to the Advanced Configuration to disable that feature.
[1] 4.1 Basic Protocol http://www.jabber.org/jeps/jep-0030.html#items-basic