Skip to content

Commit

Permalink
XEP-0424: Remove dependency on XEP-0422 'Message Fastening'
Browse files Browse the repository at this point in the history
  • Loading branch information
jcbrand committed Feb 19, 2023
1 parent afd9c08 commit 0d6c8cc
Showing 1 changed file with 17 additions and 14 deletions.
31 changes: 17 additions & 14 deletions xep-0424.xml
Expand Up @@ -20,13 +20,18 @@
<spec>XMPP IM</spec>
<spec>XEP-0313</spec>
<spec>XEP-0421</spec>
<spec>XEP-0422</spec>
</dependencies>
<supersedes/>
<supersededby/>
<shortname>message-retract</shortname>
&lance;
&jcbrand;
<revision>
<version>1.0.0</version>
<date>2023-02-19</date>
<initials>jcb</initials>
<remark>Remove the dependency on XEP-0422 Message Fastening</remark>
</revision>
<revision>
<version>0.3.0</version>
<date>2020-05-17</date>
Expand Down Expand Up @@ -86,8 +91,8 @@
<p>Due to the federated and extensible nature of XMPP it's not possible to remove a message with full certainty and a retraction can only be considered an <strong>unenforceable request</strong> for such removal. Clients which don't support message retraction are not obligated to enforce the request and people could have seen or copied the message contents already.</p>
</section1>
<section1 topic='Discovering support' anchor='disco'>
<p>If a client implements message retractions, it MUST specify the 'urn:xmpp:message-retract:0' feature in its service discovery information features as specified in &xep0030; and the Entity Capabilities profile specified in &xep0115;.</p>
<p>Similarly, a server that is aware of message retractions and will therefore ensure that they're archived for later retrieval (e.g.via &xep0313;), MUST also advertise the 'urn:xmpp:message-retract:0' feature.</p>
<p>If a client implements message retractions, it MUST specify the 'urn:xmpp:message-retract:1' feature in its service discovery information features as specified in &xep0030; and the Entity Capabilities profile specified in &xep0115;.</p>
<p>Similarly, a server that is aware of message retractions and will therefore ensure that they're archived for later retrieval (e.g.via &xep0313;), MUST also advertise the 'urn:xmpp:message-retract:1' feature.</p>
<example caption='Client requests information about a chat partner&apos;s client'><![CDATA[
<iq type='get'
from='romeo@montague.example/orchard'
Expand All @@ -102,7 +107,7 @@
id='info1'>
<query xmlns='http://jabber.org/protocol/disco#info'>
...
<feature var='urn:xmpp:message-retract:0'/>
<feature var='urn:xmpp:message-retract:1'/>
...
</query>
</iq>]]></example>
Expand All @@ -120,9 +125,7 @@

<example caption="The client sends out a retraction message"><![CDATA[
<message type='chat' to='lord@capulet.example' id='retract-message-1'>
<apply-to id="origin-id-1" xmlns="urn:xmpp:fasten:0">
<retract xmlns='urn:xmpp:message-retract:0'/>
</apply-to>
<retract id="origin-id-1" mlns='urn:xmpp:message-retract:1'/>
<fallback xmlns="urn:xmpp:fallback:0"/>
<body>This person attempted to retract a previous message, but it's unsupported by your client.</body>
<store xmlns="urn:xmpp:hints"/>
Expand All @@ -136,7 +139,7 @@
<section1 topic='Tombstones' anchor='tombstones'>
<p>It might be desirable to remove the retracted message from a &xep0313; service, while still recording the fact that it once existed, in order to aid clients in synchronizing their archives. To do this, the archiving service MAY replace the retracted message contents with a 'tombstone'.</p>

<p>A service which supports tombstones MUST advertise the 'urn:xmpp:message-retract:0#tombstone' feature in its Service Discovery responses.</p>
<p>A service which supports tombstones MUST advertise the 'urn:xmpp:message-retract:1#tombstone' feature in its Service Discovery responses.</p>

<example caption='Client requests service discovery information from the server'><![CDATA[
<iq type='get'
Expand All @@ -152,7 +155,7 @@
id='info1'>
<query xmlns='http://jabber.org/protocol/disco#info'>
...
<feature var='urn:xmpp:message-retract:0#tombstone'/>
<feature var='urn:xmpp:message-retract:1#tombstone'/>
...
</query>
</iq>]]></example>
Expand All @@ -167,7 +170,7 @@
<forwarded xmlns='urn:xmpp:forward:0'>
<delay xmlns='urn:xmpp:delay' stamp='2019-09-20T23:08:25Z'/>
<message type="groupchat" from="romeo@montague.example" to="lord@capulet.example" id="wrong-recipient-1">
<retracted stamp='2019-09-20T23:09:32Z' xmlns='urn:xmpp:message-retract:0'>
<retracted stamp='2019-09-20T23:09:32Z' xmlns='urn:xmpp:message-retract:1'>
<origin-id xmlns='urn:xmpp:sid:0' id='origin-id-1'/>
</retracted>
</message>
Expand Down Expand Up @@ -195,9 +198,9 @@
</section1>
<section1 topic='XMPP Registrar Considerations' anchor='registrar'>
<section2 topic='Protocol Namespaces' anchor='ns'>
<p>The &REGISTRAR; includes 'urn:xmpp:message-retract:0' in its registry of protocol namespaces (see &NAMESPACES;).</p>
<p>The &REGISTRAR; includes 'urn:xmpp:message-retract:1' in its registry of protocol namespaces (see &NAMESPACES;).</p>
<ul>
<li>urn:xmpp:message-retract:0</li>
<li>urn:xmpp:message-retract:1</li>
</ul>
</section2>
<section2 topic='Protocol Versioning' anchor='registrar-versioning'>
Expand All @@ -210,8 +213,8 @@
<xs:schema
xmlns:xs='http://www.w3.org/2001/XMLSchema'
targetNamespace='urn:xmpp:message-retract:0'
xmlns='urn:xmpp:message-retract:0'
targetNamespace='urn:xmpp:message-retract:1'
xmlns='urn:xmpp:message-retract:1'
elementFormDefault='qualified'>
<xs:element name='retract'></xs:element>
Expand Down

0 comments on commit 0d6c8cc

Please sign in to comment.