From 17207ae1968368b92c216cb51cc8015f07dbe55d Mon Sep 17 00:00:00 2001 From: stpeter Date: Tue, 28 Sep 2010 16:53:38 -0600 Subject: [PATCH] 0.8 --- xep-0201.xml | 26 +++++++++++++++++--------- 1 file changed, 17 insertions(+), 9 deletions(-) diff --git a/xep-0201.xml b/xep-0201.xml index 4825920c..35643bb6 100644 --- a/xep-0201.xml +++ b/xep-0201.xml @@ -24,6 +24,12 @@ &stpeter; &ianpaterson; &ksmith; + + 0.8 + 2010-09-28 + psa +

Expanded upon use with normal messages; cleaned up several matters in the text; added informational pointers to RFC 5322 (email) and RFC 5536 (netnews).

+
0.7 2010-07-12 @@ -123,8 +129,8 @@

If the <message/> stanza is written in direct reply to another <message/> stanza, then the ThreadID SHOULD be the value from the the original <message/> stanza. (Determining what constitutes a <message/> stanza written in reply to another is a matter left to individual implementation, but it is envisaged that in most cases it would be the result of, e.g., the user clicking a 'reply' button when reading the contents of the previous stanza.)

-

In some situations, the conversation veers from the original topic. In this situation, it can be sensible to generate a new thread that is an offshoot or child of the original thread. The connection of the child thread to the parent thread SHOULD be indicated by including the original ThreadID as the value of the 'parent' attribute.

- In some situations, the conversation veers from the original topic. In this situation, it can be sensible to generate a new thread that is an offshoot or child of the original thread. The connection of the child thread to the parent thread is indicated by including the original ThreadID as the value of the 'parent' attribute.

+ +

In general, the XMPP <thread/> element is handled in a manner similar to the "References:" header field from email (see &rfc5322;) and netnews (see &rfc5536;). Detailed guidelines for particular XMPP message types are provided in the following sections.

-

In the context of <message/> stanzas of type "chat" exchanged between two entities, the value of the <thread/> element shall be considered equivalent to a unique identifier for the chat session or conversation thread. If an entity receives such a message with a new or unknown ThreadID, it SHOULD treat the message as part of a session with unnegotiated parameters. A client MAY destroy the thread when it goes offline, but SHOULD NOT destroy the thread if a human user merely disengages from the chat session (e.g., by closing a window in a client interface).

+

For <message/> stanzas of type "chat" exchanged between two entities, the value of the <thread/> element shall be considered equivalent to a unique identifier for the chat session or conversation thread. If an entity receives such a message with a new or unknown ThreadID, it SHOULD treat the message as part of a new chat session. A client MAY destroy the thread when it goes offline, but SHOULD NOT destroy the thread if a human user merely disengages from the chat session (e.g., by closing a window in a client interface).

If an entity receives an XMPP presence stanza of type "unavailable" from the other entity during a chat session, it SHOULD NOT destroy the thread; instead, it SHOULD assume that the other entity will still be able to continue the session (perhaps the other entity was temporarily disconnected by a network error or is persisting the state of the session until it reconnects and receives "offline" messages).

If an entity receives a message of type "chat" without a thread ID, then it SHOULD create a new session with a new thread ID (and include that thread ID in all the messages it sends within the new session).

-

In the context of <message/> stanzas of type "groupchat" exchanged between multiple entities in a &xep0045; room or similar environment, the value of the <thread/> element shall be considered equivalent to a unique identifier for a conversation thread in the multi-user environment.

+

For <message/> stanzas of type "groupchat" exchanged between multiple entities in a &xep0045; room or similar environment, the value of the <thread/> element shall be considered equivalent to a unique identifier for a conversation thread in the multi-user environment.

When displaying a threaded groupchat conversation within a user interface, a client SHOULD provide a visual indication of the thread to which a message belongs. Methods for such indications include (non-exhaustively) the grouping together of all messages from the same thread, providing an index of threads, or formatting all messages within a thread in a cohesive manner, e.g. with uniform coloring.

- -

There are no special handling requirements related to threads in the context of <message/> stanzas of type "headline".

-
-

There are no special handling requirements related to threads in the context of <message/> stanzas of type "normal".

+

For <message/> stanzas of type "normal", the value of the <thread/> element shall be considered equivalent to a unique identifier for a conversation thread that proceeds outside the context of a "real-time" chat session or groupchat session.

+

When displaying threaded messages of type "normal" within a user interface, a client SHOULD provide a visual indication of the thread to which a message belongs. Methods for such indications include (non-exhaustively) the grouping together of all messages from the same thread, providing an index of threads, or formatting all messages within a thread in a cohesive manner, e.g. with uniform coloring.

+
+ +

There are no special handling requirements related to threads for <message/> stanzas of type "headline", because it is not expected that a client will allow the recipient to reply to such messages.

When displaying historical conversations within a user interface, a client SHOULD provide a visual indication of the thread to which a message belongs. Methods for such indications include (non-exhaustively) the grouping together of all messages from the same thread, providing an index of threads, or formatting all messages within a thread in a cohesive manner, e.g. with uniform coloring.

-

An application that generates a UUID for use as the ThreadID MUST ensure that the UUID does not reveal identifying information about the entity (e.g., the MAC address of the device on which the XMPP application is running).

+

Several security considerations related to XMPP threads are described in &rfc3921bis;.

This document requires no interaction with &IANA;.