XEP-0333: Add notes about usage within MUCs

This commit is contained in:
Matthew Wild 2020-04-15 12:55:48 +01:00 committed by Maxime “pep” Buquet
parent 71ea00d59b
commit 07342d5fba
1 changed files with 51 additions and 0 deletions

View File

@ -30,6 +30,12 @@
<email>im@spencermacdonald.com</email>
<jid>im@spencermacdonald.com</jid>
</author>
<revision>
<version>0.4</version>
<date>2020-04-15</date>
<initials>mw</initials>
<remark>Add notes about usage within MUCs.</remark>
</revision>
<revision>
<version>0.3</version>
<date>2017-09-11</date>
@ -236,6 +242,51 @@
<section2 topic='Interaction with Chat States' anchor='chatstates'>
<p>Chat Markers MAY be used alongside Chat States.</p>
</section2>
<section2 topic='Usage within MUC' anchor='rules-muc'>
<p>Markers may be used within a MUC to indicate read status of each occupant.</p>
<p>Within the context of a MUC messages are relayed through the MUC's own JID. In a
MUC that preserves the 'id' attribute chosen by the sender of the message this
'id' attribute cannot be considered unique, as it may be unintentionally or
even maliciously reused by another MUC occupant.</p>
<p>Therefore, if a MUC announces support for &xep0359; then clients MUST always use
the MUC-assigned id for Chat Markers. The id will be contained in a &lt;stanza-id&gt;
element inserted into the stanza with a 'by' attribute matching the MUC's own JID.</p>
<p>As per XEP-0359 security considerations, clients MUST only trust a &lt;stanza-id&gt;
element with a 'by' attribute that matches the MUC's own JID, and MUST ignore any such
element in MUCs that do not announce XEP-0359 support.</p>
<example caption='Example MUC message with a markable Chat Marker'>
<![CDATA[
<message
from='coven@chat.shakespeare.lit/firstwitch'
to='coven@chat.shakespeare.lit'
id='message-1'
type='groupchat'>
<thread>Act IV, Scene I</thread>
<body>Thrice the brinded cat hath mew'd.</body>
<markable xmlns='urn:xmpp:chat-markers:0' />
<stanza-id xmlns='urn:xmpp:sid:0' by='coven@chat.shakespeare.lit' id='39K7ZYIp' />
</message>
]]>
</example>
<example caption='Example marker response to a markable MUC message'>
<![CDATA[
<message
from='coven@chat.shakespeare.lit/secondwitch'
to='coven@chat.shakespeare.lit'
id='message-2'
type='groupchat'>
<thread>Act IV, Scene I</thread>
<displayed xmlns='urn:xmpp:chat-markers:0'
id='39K7ZYIp'/>
</message>
]]>
</example>
</section2>
</section1>
<section1 topic='Security Considerations' anchor='security'>