XEP-0045 now allows multiple full JIDs for the same bare JID to "share"
a single nick in the room. For example, both [email protected]/balcony
and [email protected]/chamber could join [email protected]
as [email protected]/JuliC.

This introduces a possible point of confusion. When Juliet leaves the
room from her "balcony" resource, she will still be in the room with her
"chamber" resource. However, a client that receives unavailable presence
from [email protected]/JuliC might assume that JuliC is no
longer in the room.

In a non-anonymous room we have a workaround, because the service sends
this:

<presence
    from='[email protected]/JuliC'
    to='[email protected]/pda'
    type='unavailable'>
  <x xmlns='http://jabber.org/protocol/muc#user'>
    <item affiliation='member'
          jid='[email protected]/balcony'
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
          role='none'/>
  </x>
</presence>

However, in a semi-anonymous room the service does not include the real
full JID of the entity that has departed. Therefore, I wonder if we need
to define a new status code that enables the service to indicate that
JuliC still has presence in the room.

<presence
    from='[email protected]/JuliC'
    to='[email protected]/pda'
    type='unavailable'>
  <x xmlns='http://jabber.org/protocol/muc#user'>
    <item affiliation='member'
          role='none'/>
    <status code='120'/>
  </x>
</presence>

(Yes, I know that we want to get rid of the status codes in favor of XML
elements, and I'll work on that soon...)

Peter

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



Attachment: smime.p7s
Description: S/MIME Cryptographic Signature

Reply via email to