Thank you singpolyma for a very prompt feedback.
Fetching the list of rooms that are children of a space is done via a disco#items directed at the JID of the space on the urn:xmpp:spaces:0 node. Using a node on top of the JID makes it possible for a space to be a room itself, which is possible but not required by this specification.
I don't think using a node is needed to fulfill this requirement. Any MUCs found as items on a MUC would be members surely? And any items on a space JID would be items in that space surely.
In https://xmpp.org/extensions/xep-0045.html#disco-roomitems
> An implementation MAY return a list of existing occupants if that information is publicly available, or return no list at all if this information is kept private.
So a spaces-capable public MUC room would return both its occupants and its children rooms, all mixed up together? I can see that working, since occupants have a resource part, while MUC rooms don't, so we have a (fragile?) heuristic to discriminate the two. Also, maybe MUC services actually do not implement this MAY for various reasons.
I am not against removing this node and just doing the
disco#items dance on the space JID without node. I put it there
because I was worried mixing occupants and children rooms would be
a source of trouble for clients. I wonder what other client devs
think about this. Maybe no actual implementation relies on
disco#items queries on a room so it does not matter?
If we decide a node *is* needed, I think the node needs a name related to what it is. Naming the node the same name you suggest for a list of spaces to list the items in a space is confusing IMO.
Maybe we won't need it at all as you, but if we do, let's make it "urn:xmpp:space" (singular) then?
-- nicoco