mirror of
https://github.com/moparisthebest/xeps
synced 2024-11-23 17:52:15 -05:00
Merge commit 'refs/pull/696/head' of https://github.com/xsf/xeps
This commit is contained in:
commit
8c61ac08b2
128
xep-0367.xml
128
xep-0367.xml
@ -14,12 +14,13 @@
|
|||||||
</abstract>
|
</abstract>
|
||||||
&LEGALNOTICE;
|
&LEGALNOTICE;
|
||||||
<number>0367</number>
|
<number>0367</number>
|
||||||
<status>Deferred</status>
|
<status>Experimental</status>
|
||||||
<type>Standards Track</type>
|
<type>Standards Track</type>
|
||||||
<sig>Standards</sig>
|
<sig>Standards</sig>
|
||||||
<approver>Council</approver>
|
<approver>Council</approver>
|
||||||
<dependencies>
|
<dependencies>
|
||||||
<spec>XMPP Core</spec>
|
<spec>XMPP Core</spec>
|
||||||
|
<spec>XEP-0359</spec>
|
||||||
</dependencies>
|
</dependencies>
|
||||||
<supersedes/>
|
<supersedes/>
|
||||||
<supersededby/>
|
<supersededby/>
|
||||||
@ -30,6 +31,13 @@
|
|||||||
<surname>Petchell</surname>
|
<surname>Petchell</surname>
|
||||||
<email>cpetchell@atlassian.com</email>
|
<email>cpetchell@atlassian.com</email>
|
||||||
</author>
|
</author>
|
||||||
|
&mwild;
|
||||||
|
<revision>
|
||||||
|
<version>0.3</version>
|
||||||
|
<date>2018-08-18</date>
|
||||||
|
<initials>mw</initials>
|
||||||
|
<remark>Update to use unique stanza ids.</remark>
|
||||||
|
</revision>
|
||||||
<revision>
|
<revision>
|
||||||
<version>0.2</version>
|
<version>0.2</version>
|
||||||
<date>2017-09-11</date>
|
<date>2017-09-11</date>
|
||||||
@ -66,7 +74,7 @@
|
|||||||
<section1 topic='Discovering support' anchor='disco'>
|
<section1 topic='Discovering support' anchor='disco'>
|
||||||
<p>
|
<p>
|
||||||
If a client implements message attaching, it MUST specify the
|
If a client implements message attaching, it MUST specify the
|
||||||
'urn:xmpp:message-attaching:0' feature in its service discovery information
|
'urn:xmpp:message-attaching:1' feature in its service discovery information
|
||||||
features as specified in &xep0030; and the Entity Capabilities profile
|
features as specified in &xep0030; and the Entity Capabilities profile
|
||||||
specified in &xep0115;.
|
specified in &xep0115;.
|
||||||
</p>
|
</p>
|
||||||
@ -83,7 +91,7 @@
|
|||||||
id='miuARo9V'>
|
id='miuARo9V'>
|
||||||
<query xmlns='http://jabber.org/protocol/disco#info'>
|
<query xmlns='http://jabber.org/protocol/disco#info'>
|
||||||
…
|
…
|
||||||
<feature var='urn:xmpp:message-attaching:0'/>
|
<feature var='urn:xmpp:message-attaching:1'/>
|
||||||
…
|
…
|
||||||
</query>
|
</query>
|
||||||
</iq>]]></example>
|
</iq>]]></example>
|
||||||
@ -91,16 +99,17 @@
|
|||||||
<section1 topic='Usage' anchor='usage'>
|
<section1 topic='Usage' anchor='usage'>
|
||||||
<p>
|
<p>
|
||||||
Messages that are attached to other messages MUST contain an
|
Messages that are attached to other messages MUST contain an
|
||||||
<attach-to/> element qualified by the 'urn:xmpp:message-attaching:0'
|
<attach-to/> element qualified by the 'urn:xmpp:message-attaching:1'
|
||||||
namespace and with an 'id' attribute set to the ID of the message that we
|
namespace and with an 'id' attribute set to the ID of the message that we
|
||||||
want to attach to. Messages MAY be attached to any other message, including
|
want to attach to (important note: the correct ID to use depends on the context,
|
||||||
those sent by other clients, but clients MAY choose to ignore the attach-to
|
see the business rules below). Messages MAY be attached to any
|
||||||
directive and display the message normally.
|
other message, including those sent by other clients, but clients MAY choose
|
||||||
|
to ignore the attach-to directive and display the message normally.
|
||||||
</p>
|
</p>
|
||||||
<example caption='User attaches a message'><![CDATA[
|
<example caption='User attaches a message'><![CDATA[
|
||||||
<message to='antonio@milan.lit/ship' from='prospero@milan.lit/island id='RgEGnjqy'>
|
<message to='antonio@milan.lit/ship' from='prospero@milan.lit/island id='RgEGnjqy'>
|
||||||
<body>storm.png</body>
|
<body>storm.png</body>
|
||||||
<attach-to id='oldmessage1' xmlns='urn:xmpp:message-attaching:0'/>
|
<attach-to id='SD24VCzSYQ' xmlns='urn:xmpp:message-attaching:1'/>
|
||||||
</message>]]></example>
|
</message>]]></example>
|
||||||
<p>
|
<p>
|
||||||
Note that indicating that a message should be "attached" to an earlier
|
Note that indicating that a message should be "attached" to an earlier
|
||||||
@ -109,42 +118,71 @@
|
|||||||
</p>
|
</p>
|
||||||
</section1>
|
</section1>
|
||||||
<section1 topic='Business Rules' anchor='rules'>
|
<section1 topic='Business Rules' anchor='rules'>
|
||||||
<p>
|
<section2 topic='Using the correct ID' anchor='business-id'>
|
||||||
A receiving client MAY choose to show the attached message next to or below
|
<p>
|
||||||
the indicated message in whatever display is used for messages or can
|
For messages of type 'groupchat', the stanza's 'id' attribute MUST NOT be
|
||||||
choose to display the attachment in another way (including as a normal
|
used for attachments. Instead, in group chat situations, the ID assigned to
|
||||||
message, completely ignoring the attach-to element).
|
the stanza by the group chat itself must be used. This is discovered in a
|
||||||
</p>
|
<stanza-id> element with a 'by' attribute that matches the bare JID of
|
||||||
<p>
|
the group chat, as defined in &xep0359;.
|
||||||
A receiving client SHOULD indicate that the message is an attachment, and
|
</p>
|
||||||
not a part of the original message to prevent confusion.
|
<p>
|
||||||
</p>
|
This implies that group chat messages without a &xep0359; stanza-id cannot
|
||||||
<p>
|
be attached-to.
|
||||||
<attach-to/> elements MUST NOT be put on any stanza type other than
|
</p>
|
||||||
messages.
|
<p>
|
||||||
</p>
|
For other message types the attacher should use the 'id' from a XEP-0359
|
||||||
<p>
|
<origin-id> if present, or the value of the 'id' attribute on the
|
||||||
A server may choose to strip some <attach-to/> messages based on
|
<message> otherwise.
|
||||||
local policy (eg. a server might have a policy that only it can create
|
</p>
|
||||||
message attachments).
|
</section2>
|
||||||
</p>
|
<section2 topic='Display of attached messages' anchor='business-display'>
|
||||||
<p>Clients MUST send ids on messages if they support attachments.</p>
|
<p>
|
||||||
<p>
|
A receiving client MAY choose to show the attached message next to or below
|
||||||
Messages MUST NOT contain more than one <attach-to/> element.
|
the indicated message in whatever display is used for messages or can
|
||||||
</p>
|
choose to display the attachment in another way (including as a normal
|
||||||
<p>
|
message, completely ignoring the attach-to element).
|
||||||
Clients and servers MUST NOT include an <attach-to/> element on
|
</p>
|
||||||
messages with a non-messaging payload unless they are including it on an
|
<p>
|
||||||
error which may be attached to the message that caused the error to be
|
A receiving client SHOULD indicate that the message is an attachment, and
|
||||||
generated.
|
not a part of the original message to prevent confusion.
|
||||||
</p>
|
</p>
|
||||||
|
</section2>
|
||||||
|
<section2 topic='General' anchor='business-general'>
|
||||||
|
<p>
|
||||||
|
<attach-to/> elements MUST NOT be put on any stanza type other than
|
||||||
|
messages.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
A server may choose to strip some <attach-to/> messages based on
|
||||||
|
local policy (eg. a server might have a policy that only it can create
|
||||||
|
message attachments).
|
||||||
|
</p>
|
||||||
|
<p>Clients MUST send ids on messages if they support attachments.</p>
|
||||||
|
<p>
|
||||||
|
Messages MUST NOT contain more than one <attach-to/> element.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
Clients and servers MUST NOT include an <attach-to/> element on
|
||||||
|
messages with a non-messaging payload unless they are including it on an
|
||||||
|
error which may be attached to the message that caused the error to be
|
||||||
|
generated.
|
||||||
|
</p>
|
||||||
|
</section2>
|
||||||
</section1>
|
</section1>
|
||||||
<section1 topic='Security Considerations' anchor='security'>
|
<section1 topic='Security Considerations' anchor='security'>
|
||||||
<p>
|
<p>
|
||||||
Clients that implement message attachments MUST be careful not to display
|
Clients that implement message attachments MUST display the attachments
|
||||||
the attachments in such a way that they could be confused with the original
|
in such a way that they could not be confused with the original message
|
||||||
message and cause someone viewing the conversation to assume they were sent
|
and cause someone viewing the conversation to assume they were sent by
|
||||||
by the sender of the message being attached to.
|
the sender of the message being attached to.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
When matching a received attachment to the original message, clients must
|
||||||
|
ensure they match using the correct ID, as described in the business rules
|
||||||
|
section, e.g. within a group chat only the XEP-0359 stanza-id should be
|
||||||
|
matched against. If this is not available, the message SHOULD be displayed
|
||||||
|
as a normal unattached message.
|
||||||
</p>
|
</p>
|
||||||
</section1>
|
</section1>
|
||||||
<section1 topic='IANA Considerations' anchor='iana'>
|
<section1 topic='IANA Considerations' anchor='iana'>
|
||||||
@ -153,7 +191,7 @@
|
|||||||
<section1 topic='XMPP Registrar Considerations' anchor='registrar'>
|
<section1 topic='XMPP Registrar Considerations' anchor='registrar'>
|
||||||
<p>This specification defines the following XML namespaces:</p>
|
<p>This specification defines the following XML namespaces:</p>
|
||||||
<ul>
|
<ul>
|
||||||
<li>urn:xmpp:message-attaching:0</li>
|
<li>urn:xmpp:message-attaching:1</li>
|
||||||
</ul>
|
</ul>
|
||||||
<p>
|
<p>
|
||||||
The ®ISTRAR; shall include the foregoing namespaces in its disco
|
The ®ISTRAR; shall include the foregoing namespaces in its disco
|
||||||
@ -161,7 +199,7 @@
|
|||||||
</p>
|
</p>
|
||||||
<code caption='Registry Submission'><![CDATA[
|
<code caption='Registry Submission'><![CDATA[
|
||||||
<var>
|
<var>
|
||||||
<name>urn:xmpp:message-attaching:0</name>
|
<name>urn:xmpp:message-attaching:1</name>
|
||||||
<desc>Indicates support for attaching one message to another.</desc>
|
<desc>Indicates support for attaching one message to another.</desc>
|
||||||
<doc>XEP-xxxx</doc>
|
<doc>XEP-xxxx</doc>
|
||||||
</var>
|
</var>
|
||||||
@ -173,8 +211,8 @@
|
|||||||
|
|
||||||
<xs:schema
|
<xs:schema
|
||||||
xmlns:xs='http://www.w3.org/2001/XMLSchema'
|
xmlns:xs='http://www.w3.org/2001/XMLSchema'
|
||||||
targetNamespace='urn:xmpp:message-attaching:0'
|
targetNamespace='urn:xmpp:message-attaching:1'
|
||||||
xmlns='urn:xmpp:message-attaching:0'
|
xmlns='urn:xmpp:message-attaching:1'
|
||||||
elementFormDefault='qualified'>
|
elementFormDefault='qualified'>
|
||||||
|
|
||||||
<xs:element name='attach-to'>
|
<xs:element name='attach-to'>
|
||||||
|
Loading…
Reference in New Issue
Block a user