From d6f6fe0b3584dda2bdacc46be8272e66b37a3807 Mon Sep 17 00:00:00 2001 From: Steve Kille Date: Wed, 3 Jan 2018 11:16:09 +0000 Subject: [PATCH 1/6] Remove Recommendation to do MIX/MUC on separate domains --- xep-0369.xml | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/xep-0369.xml b/xep-0369.xml index 0856a4a4..f927ffe0 100644 --- a/xep-0369.xml +++ b/xep-0369.xml @@ -37,6 +37,15 @@ &skille; &stpeter; + 0.9.5 + 2018-02-03 + sek +

+ Various Clarifications from Dave Cridland review: + Remove Recommendation to do MIX/MUC on separate domains, + +

+
0.9.4 2018-02-02 sek @@ -55,7 +64,8 @@ Change Retract to use MAM-ID; Ensure use of .example throughout (follow RFC conventions);

-
+ + 0.9.3 2017-07-18 sek @@ -326,7 +336,7 @@
  • XMPP clients can implement MUC and this specification in a way that provides a coherent user experience.
  • XMPP servers can implement this specification and also provide a MUC interface in order to support clients that only implement MUC.
  • -

    If a server wishes to expose both MUC and MIX representations of chatrooms, it is RECOMMENDED to do so by serving MUC and MIX on different domains, but a server MAY serve them on the same domain.

    +

    This specification gives guidance on supporting both MUC and MIX representations of chatrooms.

    From 7deffba1726757d177e84915f7a4bbc2e5f7c948 Mon Sep 17 00:00:00 2001 From: Steve Kille Date: Wed, 3 Jan 2018 11:46:48 +0000 Subject: [PATCH 2/6] Editorial --- xep-0369.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/xep-0369.xml b/xep-0369.xml index f927ffe0..ee28340c 100644 --- a/xep-0369.xml +++ b/xep-0369.xml @@ -389,7 +389,7 @@

    MIX is based upon domains providing a MIX service, such as 'mix.shakespeare.example'. Note that although PubSub communication is used, a domain used for MIX is a MIX domain and not a standard &xep0060; domain. Like MUC, there is no requirement on the naming of these domains; the label 'mix' used in examples in this specification and the fact that it is a subdomain of a 'shakespeare.example' service are purely for example.

    -

    Every MIX channel is an addressable PubSub service (with additional MIX semantics) that will be addressed using a bare JID by other XMPP entities, for example coven@mix.shakespeare.example. While &xep0060; is used as the basis for the MIX model, MIX uses standard presence and groupchat messages to provide an interface to the MIX service that does not expose PubSub protocol for many of the more common functions. +

    Every MIX channel is an addressable service based on PubSub (with additional MIX semantics) that will be addressed using a bare JID by other XMPP entities, for example coven@mix.shakespeare.example. While &xep0060; is used as the basis for the MIX model, MIX uses standard presence and groupchat messages to provide an interface to the MIX service that does not expose PubSub protocol for many of the more common functions.

    @@ -407,7 +407,7 @@ This approach enables flexible support of multiple clients for a MIX channel pa
  • Messages from a MIX client to a MIX channel will go direct to the MIX service. They are relayed, but not modified, by the participant's server.
  • Messages from a MIX channel to a MIX client are always sent to the MIX participant's server (addressed by bare JID) and MUST be handled by the MIX participant's server.
  • -
  • All messages received by the MIX participant's server MUST be stored using MAM.
  • +
  • All MIX messages received by the MIX participant's server for a participant MUST be stored using MAM in the participant's archive.
  • The MIX participant's server will only forward messages to online clients and will not forward messages if no clients are online. This means that a MIX client needs to resynchronize with all MIX channels when it comes online. This message synchronization will happen between the MIX client and the MAM archive held on the MIX participant's server.
  • From ea084f42dcaea49b12beab5db355fe84aefaa6de Mon Sep 17 00:00:00 2001 From: Steve Kille Date: Wed, 3 Jan 2018 11:51:47 +0000 Subject: [PATCH 3/6] Sort Default JID Visibility Preference --- xep-0369.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/xep-0369.xml b/xep-0369.xml index ee28340c..49d5f378 100644 --- a/xep-0369.xml +++ b/xep-0369.xml @@ -454,13 +454,13 @@ This approach enables flexible support of multiple clients for a MIX channel pa

    - +
    PreferenceDescription
    'No JID Visibility Preference'The users JID will be visible if the channel is JID Visible or JID Maybe Visible channels and hidden if the channel is JID Hidden.
    'Prefer Visible'The users JID will be visible if the channel is JID Visible or JID Maybe Visible channels and hidden if the channel is JID Hidden.
    'Prefer Hidden'The user's JID will be hidden if the channel is JID Maybe Visible and shown if the channel is JID Visible .
    'Enforce Hidden'The user's JID will never be shown and the user will be removed from channel if channel mode is changed to JID Visible.
    'Enforce Visible'The users JID will always be shown and the user will be removed from channel if mode is changed to 'JID Hidden'.

    - For JID Visible and JID Hidden channels the default user visibility preference is No JID Visibility Preference. For JID Maybe Visible channels, the default user visibility preference is Prefer Hidden, so that JIDs will only be visible when users explicitly permit this. + The default value is 'Prefer Hidden'.

    The primary representation of a participant in a MIX channel is a proxy JID, which is an anonymized JID using the same domain as the channel and with the name of the channel encoded, using the format "<generated identifier>#<channel>@<mix domain>". The generated identifier MUST NOT contain the '#', '/' or '@' characters. The Channel name MAY contain the '#' character. For example in the channel 'coven@mix.shakespeare.example', the user 'hag66@shakespeare.example' might have a proxy JID of '123456#coven@mix.shakespeare.example'. The reason for the proxy JID is to support JID Hidden channels. Proxy JIDs are also used in JID Visible channels, for consistency and to enable switching of JID visibility. The "urn:xmpp:mix:nodes:jidmap" node maps from proxy JID to real JID. Servers and clients MUST determine that a JID is a proxy JID from context and MUST NOT infer that a JID is a proxy JID because it contains the '#' character. From 89beb061e60957e77daa7acc79c581a2030d14de Mon Sep 17 00:00:00 2001 From: Steve Kille Date: Wed, 3 Jan 2018 14:40:08 +0000 Subject: [PATCH 4/6] Make Owner optional --- xep-0369.xml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/xep-0369.xml b/xep-0369.xml index 49d5f378..b5f1197a 100644 --- a/xep-0369.xml +++ b/xep-0369.xml @@ -43,7 +43,8 @@

    Various Clarifications from Dave Cridland review: Remove Recommendation to do MIX/MUC on separate domains, - + Sort Default JID Visibility Preference, +

    0.9.4 From 975dd911291229984f4c9a80fbab62831ce4759b Mon Sep 17 00:00:00 2001 From: Steve Kille Date: Wed, 3 Jan 2018 14:47:09 +0000 Subject: [PATCH 5/6] Clarify that Nick is optional --- xep-0369.xml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/xep-0369.xml b/xep-0369.xml index b5f1197a..b003af55 100644 --- a/xep-0369.xml +++ b/xep-0369.xml @@ -44,6 +44,8 @@ Various Clarifications from Dave Cridland review: Remove Recommendation to do MIX/MUC on separate domains, Sort Default JID Visibility Preference, + Make Owner optional, + Clarify that Nick is optional,

    @@ -518,7 +520,7 @@ This approach enables flexible support of multiple clients for a MIX channel pa AnyoneAny user, including users in the banned node.

    - There MUST always be at least one Owner for a Channel. Administrators, Participants, and Allowed are optional and do not need to be set. Rights are defined in a strictly hierarchical manner following the order of this table, so that for example Owners will always have rights that Administrators have. + There MUST always be at least one Owner for a Channel. Owners, Administrators, Participants, and Allowed are optional and do not need to be set. Where no owner is explicitly set, it is anticipated that a server administrator will have owner rights. Rights are defined in a strictly hierarchical manner following the order of this table, so that for example Owners will always have rights that Administrators have.

    @@ -536,7 +538,7 @@ This approach enables flexible support of multiple clients for a MIX channel pa -

    Each channel participant is represented as an item of the 'urn:xmpp:mix:nodes:participants' channel node. Each item is named by the bare proxy JID of the participant. For example '123456#coven@mix.shakespeare.example' might name the node item associated with participant 'hag66@shakespeare.example'. Information is stored in a <participant/> element qualified by the 'urn:xmpp:mix:1' namespace. The nick associated with the user is mandatory and is stored in a <nick/> child element of the <participant/> element. The nick for each channel participant MUST be different to the nick of other participants. +

    Each channel participant is represented as an item of the 'urn:xmpp:mix:nodes:participants' channel node. Each item is named by the bare proxy JID of the participant. For example '123456#coven@mix.shakespeare.example' might name the node item associated with participant 'hag66@shakespeare.example'. Information is stored in a <participant/> element qualified by the 'urn:xmpp:mix:1' namespace. The nick associated with the user is optional and is stored in a <nick/> child element of the <participant/> element. The nick for each channel participant MUST be different to the nick of other participants.

    When a user joins a channel, the user's bare proxy JID is added to the participants node by the MIX service. When a user leaves a channel, the user's bare proxy JID is removed from the participants node. The participants node MUST NOT be directly modified using pubsub. From c1c1cdc1374b80038cd6803f51c4f7c923f16633 Mon Sep 17 00:00:00 2001 From: Steve Kille Date: Wed, 3 Jan 2018 15:24:08 +0000 Subject: [PATCH 6/6] Editorial --- xep-0369.xml | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/xep-0369.xml b/xep-0369.xml index b003af55..17a50133 100644 --- a/xep-0369.xml +++ b/xep-0369.xml @@ -45,8 +45,7 @@ Remove Recommendation to do MIX/MUC on separate domains, Sort Default JID Visibility Preference, Make Owner optional, - Clarify that Nick is optional, - + Clarify that Nick is optional;

    0.9.4 @@ -726,7 +725,7 @@ This approach enables flexible support of multiple clients for a MIX channel pa

    - The MIX standard allows channels to use non-standard nodes, using names that do no conflict with the standard nodes. Non-Standard nodes MUST NOT duplicate or otherwise provide capability that can be provided by standard nodes. + The MIX standard allows channels to use non-standard nodes, using names that do not conflict with the standard nodes. Non-Standard nodes MUST NOT duplicate or otherwise provide capability that can be provided by standard nodes.

    @@ -898,8 +897,7 @@ This approach enables flexible support of multiple clients for a MIX channel pa to='hag66@shakespeare.example/UUID-c8y/1573' type='result'> -