The remark already talks about the outer elements as potential source
of xml:lang, but it does not explicitly mention the root <stream> open
element as further source. Better to spell this out explicitly to hint
implementors towards it.
This cleans up existing registrations, tweaks how the new registry works
to better match existing registries, and also adds registrations for the
namespaces registry and feature discovery registries.
It is not really spelled out that the submitting entity may omit
fields not mark as required by the processing entity. Even though the
existence of the <required/> flag on form fields is a strong hint
towards this, it is worth to explicitly state that.
Zash reached out to me to ask if extensible IBR could be made compatible
with XEP-0401: Easy User Onboarding. While working on a solution to this
I decided it would also be nice if it could also allow the user to pick
between several flows (eg. "Verify by Phone" vs "Verify by SMS").
After working this up I came to realize that the current version of the
spec could not be used to replace XEP-0077 as it is used by XEP-0045 and
other XEPs because I wasn't using routeable stanzas that could be sent
to components and had no way to discover support other than during
stream feature negotation.
This patch set turned into an overhaul of the proposal to fix all these
problems and move the spec back out of experimental.
OMEMO implementations ideally want to determine if the PEP service is
suitable for OMEMO. This includes a xep30 feature discovery. This
change makes it easier for implementors to determine the features to
look out for by explicitly mention and linking to the
'persistent-items' feature
The <update-subscription/> element so far was only allowing a user to
subscribe to new nodes, not unsubscribe from them. The only option if
for instance one node was too floody was to leave the channel and rejoin
it with only the nodes we wanted.