------ Original Message ------
From "Jonas Schäfer" <jonas(a)wielicki.name>
To standards(a)xmpp.org
Date 10/03/2024 16:27:07
Subject [Standards] Remove requirement to send disco#info feature in
XEP-0030
Dear community,
it's been a while I spoke up here.
I would like to discuss the removal of the following part-sentence from
XEP-0030 (in Final status!):
every entity MUST support at least the
'http://jabber.org/protocol/disco#info' feature
Announcing that feature is redundant: An entity which replies with a properly
constructed `<query
xmlns="http://jabber.org/protocol/disco#info"/>`
element
is bound to (and has always been bound to) have implemented XEP-0030 to the
best of its knowledge.
As this is a Final(!) status XEP, here is my estimate of the impact this
change has:
- Implementations which required the presence of this feature on the
receiving side would now become non-compliant: They might assume
that the remote entity did not really support XEP-0030 and fail with
an error.
Such implementations would need to be adapted in order to be able to
interoperate with implementations which follow a revised version of
XEP-0030.
I don't see any other impact. I also strongly suspect that the set of
implementations which follow XEP-0030 to the letter is rather slim (I only
know of a single one, which would be the Rust XMPP library xmpp-rs [1]).
The reason why this came up: There have in the past been cases ([2] and
another, not-yet-filed issue against Prosody IM where the disco#info feature
is missing from MUCs) where implementations didn't emit this feature. The
seeming pointlessness and lack of information conveyed by this feature var
make it easy to overlook and low-priority to fix. The fact that this has gone
undiscovered for at least one Prosody IM release cycle further supports the
assumption that the number of implementations which rely on that part of the
spec is rather small.
It seems to me that, although this has always seemed like a strange
wart, the fact that it might cause implementations to need to be updated
(whether such implementations are known of by The Internet or not),
making the change is inconsistent with the requirements of Final
(XEP-0001) so shouldn't be made.
/K