After last week's XMPP Council meeting, a few folks had a discussion
about MUC status codes (XEP-0306)...

http://xmpp.org:5290/muc_log/muc.xmpp.org/council/110921/#16:22:29

Ralph Meijer's point was that it would be good to use the same kind of
approach we followed for core stanza errors. So instead of what we have
in XEP-0306 right now:

<presence
    from='co...@chat.shakespeare.lit/thirdwitch'
    id='n13mt3l'
    to='ha...@shakespeare.lit/pda'>
  <x xmlns='http://jabber.org/protocol/muc#user'>
    <item affiliation='member' role='participant'/>
    <status code='100'/>
    <status code='110'/>
    <conditions xmlns='urn:xmpp:muc:conditions:0'>
      <realjid-public/>
      <self-presence/>
    </conditions>
  </x>
</presence>

We could define each new condition element as a child of the related
status code:

<presence
    from='co...@chat.shakespeare.lit/thirdwitch'
    id='n13mt3l'
    to='ha...@shakespeare.lit/pda'>
  <x xmlns='http://jabber.org/protocol/muc#user'>
    <item affiliation='member' role='participant'/>
    <status code='100'>
      <realjid-public xmlns='urn:xmpp:muc:conditions:0'/>
    </status>
    <status code='110'>
      <self-presence xmlns='urn:xmpp:muc:conditions:0'/>
    </status>
  </x>
</presence>

This would enable us to eventually get rid of the 'code' attribute, just
as we did for stanza errors. I rather like that idea so I plan to update
XEP-0306 accordingly.

(Dave Cridland brought up a separate issue, which is that many
implementations don't support more than one <status/> element in MUC
presence, for example reading/showing only the first or the last
instance. But that's a separate issue...)

Peter

-- 
Peter Saint-Andre
https://stpeter.im/


Reply via email to