[Standards] MIX: Join protocol flow

Steve Kille steve.kille at isode.com
Tue Sep 17 16:07:28 UTC 2019


I'm thinking about this.

You note:  "2. XEP-0369 uses the @id attribute and the @jid attribute on <join/>."

I can only see use of <jid/>    can you point out where @id is used?


> -----Original Message-----
> From: Standards <standards-bounces at xmpp.org> On Behalf Of Jonas Schäfer
> Sent: 16 September 2019 13:03
> To: standards at xmpp.org
> Subject: [Standards] MIX: Join protocol flow
> Hi folks,
> I have some time at my hands, and with the MIX implementation in recent
> ejabberds, I thought I’d give it a shot.
> However, I’m already running into issues with the join flow. The specification is
> inconsistent there between different examples in XEP-0369, between XEP-0369
> and XEP-0405, and between different examples in XEP-0405, unfortunately.
> Here’s the questions:
> 1. XEP-0405 was bumped to :pam:1, XEP-0369 was bumped to :core:1, but XEP-
> 0405 still uses :core:0 inside the client-join. Is that intentional?
> 2. XEP-0369 uses the @id attribute and the @jid attribute on <join/>. The text
> only talks about @id, which seems to be a string, while at least one example in
> XEP-0369 (in 0.13.0 [2] which still has :core:0, which I have to use for current
> PAM apparently) shows @jid which contains the @id from another example as a
> substring. ISTM that @id is the intended thing to do given that XEP-0369 has
> been updated (with the bump to :core:1) to only use @id. Is that correct?
> 3. The embedding of <{:core:Y}join/> inside <{:pam:X}client-join/> seems error-
> prone to me at least specification-wise. We’d have to bump :pam:X to
> :pam:X+1 whenever we change anything in :core:Y+1, or we have to keep old
> versions of the schema of :core:Y around so that implementors can look at it
> easily (the attic is no such place because it’s hard to find the correct version of a
> document for a given namespace there).
>   One way to work around this would be to re-define the <{:pam:X+1}client-
> join/> on its own without relying on elements from :core:Y. The user’s server is
> then responsible for translating the {:pam:X+1} contents to the correct(!)
> version of {:core:Y}. This has the obvious problem that the PAM needs to
> discover the correct version of :core:Y to use for the join to the channel.
>   I’m not really fond of that, but the current state isn’t good either. Anyone got
> better ideas?
> kind regards,
> Jonas
>    [1]: https://xmpp.org/extensions/attic/xep-0369-0.13.0.html#example-19

More information about the Standards mailing list