From 7123a7a4ed6a3b9575cafdb098ad45e29974a2b9 Mon Sep 17 00:00:00 2001 From: Georg Lukas Date: Tue, 6 Mar 2018 14:44:38 +0100 Subject: [PATCH 1/2] XEP-0045: Implement stable IDs on Reflection This updates the example and the wording to make stable IDs mandatory. It also introduces the 'muc_stable_id' feature flag fig leaf to test servers. Per http://logs.xmpp.org/council/2018-02-28/#16:27:29 Discussion: * https://mail.jabber.org/pipermail/standards/2010-November/023928.html * https://mail.jabber.org/pipermail/standards/2014-July/028988.html --- xep-0045.xml | 23 +++++++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) diff --git a/xep-0045.xml b/xep-0045.xml index 2babea7b..b98e62a6 100644 --- a/xep-0045.xml +++ b/xep-0045.xml @@ -45,6 +45,14 @@ &stpeter; + + 1.31 + 2018-03-06 + gl + +

Require the service to maintain the 'id' attribute on message reflections.

+
+
1.30 2018-02-23 @@ -1178,6 +1186,7 @@ + ]]> @@ -1902,27 +1911,28 @@ Harpier cries: 'tis time, 'tis time. Harpier cries: 'tis time, 'tis time. Harpier cries: 'tis time, 'tis time. ]]> -

Note well that for tracking purposes this service assigns a new 'id' to each message it generates (here using a UUID as defined in &rfc4122;).

+

The service SHOULD reflect the message with the same 'id' that was generated by the client, to allow clients to track their outbound messages. If the client did not provide an 'id', the server MAY generate an 'id' and use it for all reflections of the same message (e.g. using a UUID as defined in &rfc4122;).

+

Note: the requirement to reflect the 'id' attribute was added in version 1.31 of this XEP. Servers following the new specification SHOULD advertise that with a disco info feature of 'muc_stable_id' on both the service domain and on individual MUCs, so that clients can check for support.

If the sender is a visitor (i.e., does not have voice in a moderated room), the service MUST return a &forbidden; error to the sender and MUST NOT reflect the message to all occupants. If the sender is not an occupant of the room, the service SHOULD return a ¬acceptable; error to the sender and SHOULD NOT reflect the message to all occupants; the only exception to this rule is that an implementation MAY allow users with certain privileges (e.g., a room owner, room admin, or service-level admin) to send messages to the room even if those users are not occupants.

@@ -5056,6 +5066,11 @@ Semi-anonymous room in Multi-User Chat (MUC) XEP-0045 + + muc_stable_id + This MUC will reflect the original message 'id' in 'groupchat' messages. + XEP-0045 + muc_temporary Temporary room in Multi-User Chat (MUC) From b017284eea20070b7982d6fb58fe6c68c8c6dc54 Mon Sep 17 00:00:00 2001 From: Georg Lukas Date: Thu, 8 Mar 2018 10:39:50 +0100 Subject: [PATCH 2/2] XEP-0045: change feature according to Council feedback --- xep-0045.xml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/xep-0045.xml b/xep-0045.xml index b98e62a6..2cf59c98 100644 --- a/xep-0045.xml +++ b/xep-0045.xml @@ -1180,13 +1180,13 @@ name='A Dark Cave' type='text'/> + - ]]> @@ -1932,7 +1932,7 @@ ]]>

The service SHOULD reflect the message with the same 'id' that was generated by the client, to allow clients to track their outbound messages. If the client did not provide an 'id', the server MAY generate an 'id' and use it for all reflections of the same message (e.g. using a UUID as defined in &rfc4122;).

-

Note: the requirement to reflect the 'id' attribute was added in version 1.31 of this XEP. Servers following the new specification SHOULD advertise that with a disco info feature of 'muc_stable_id' on both the service domain and on individual MUCs, so that clients can check for support.

+

Note: the requirement to reflect the 'id' attribute was added in version 1.31 of this XEP. Servers following the new specification SHOULD advertise that with a disco info feature of 'http://jabber.org/protocol/muc#stable_id' on both the service domain and on individual MUCs, so that clients can check for support.

If the sender is a visitor (i.e., does not have voice in a moderated room), the service MUST return a &forbidden; error to the sender and MUST NOT reflect the message to all occupants. If the sender is not an occupant of the room, the service SHOULD return a ¬acceptable; error to the sender and SHOULD NOT reflect the message to all occupants; the only exception to this rule is that an implementation MAY allow users with certain privileges (e.g., a room owner, room admin, or service-level admin) to send messages to the room even if those users are not occupants.

@@ -5016,6 +5016,11 @@ Support for the muc#roominfo FORM_TYPE XEP-0045
+ + http://jabber.org/protocol/muc#stable_id + This MUC will reflect the original message 'id' in 'groupchat' messages. + XEP-0045 + muc_hidden Hidden room in Multi-User Chat (MUC) @@ -5066,11 +5071,6 @@ Semi-anonymous room in Multi-User Chat (MUC) XEP-0045 - - muc_stable_id - This MUC will reflect the original message 'id' in 'groupchat' messages. - XEP-0045 - muc_temporary Temporary room in Multi-User Chat (MUC)