From 954099efc67f0d20375a95790472cef70d7253a2 Mon Sep 17 00:00:00 2001 From: Aaron Raimist Date: Sat, 10 Oct 2020 14:28:58 -0500 Subject: [PATCH 1/5] Improve wording of room version 1 warnings Signed-off-by: Aaron Raimist --- specification/rooms/v1.rst | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) diff --git a/specification/rooms/v1.rst b/specification/rooms/v1.rst index a71bdfb4..81d0fa13 100644 --- a/specification/rooms/v1.rst +++ b/specification/rooms/v1.rst @@ -79,19 +79,12 @@ The algorithms defined here should only apply to version 1 rooms. Other algorith may be used by other room versions, and as such servers should be aware of which version room they are dealing with prior to executing a given algorithm. -.. WARNING:: - Although room version 1 is the most popular room version, it is known to have - undesirable effects. Servers implementing support for room version 1 should be - aware that restrictions should be generally relaxed and that inconsistencies - may occur until room version 2 (or later) is ready and adopted. - State resolution ~~~~~~~~~~~~~~~~ .. WARNING:: - This section documents the state resolution algorithm as implemented by - Synapse as of December 2017 (and therefore the de-facto Matrix protocol). - However, this algorithm is known to have some problems. + Room version 1 is known to have bugs that can cause the state of rooms to reset. + This is fixed in room version 2 and later. The room state :math:`S'(E)` after an event :math:`E` is defined in terms of the room state :math:`S(E)` before :math:`E`, and depends on whether From 8005467628508c81245db0096c11986788ecf92b Mon Sep 17 00:00:00 2001 From: Aaron Raimist Date: Tue, 13 Oct 2020 11:41:59 -0500 Subject: [PATCH 2/5] Put back first warning, reword "most popular" Signed-off-by: Aaron Raimist --- specification/rooms/v1.rst | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/specification/rooms/v1.rst b/specification/rooms/v1.rst index 81d0fa13..c4cdf70c 100644 --- a/specification/rooms/v1.rst +++ b/specification/rooms/v1.rst @@ -79,6 +79,12 @@ The algorithms defined here should only apply to version 1 rooms. Other algorith may be used by other room versions, and as such servers should be aware of which version room they are dealing with prior to executing a given algorithm. + .. WARNING:: + Although there are many rooms using room version 1, it is known to have + undesirable effects. Servers implementing support for room version 1 should be + aware that restrictions should be generally relaxed and that inconsistencies + may occur. + State resolution ~~~~~~~~~~~~~~~~ From 15805761be415aaf1120a108bac1398d03e904b8 Mon Sep 17 00:00:00 2001 From: Aaron Raimist Date: Tue, 13 Oct 2020 11:42:21 -0500 Subject: [PATCH 3/5] Describe what a state reset is Signed-off-by: Aaron Raimist --- specification/rooms/v1.rst | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/specification/rooms/v1.rst b/specification/rooms/v1.rst index c4cdf70c..14df799b 100644 --- a/specification/rooms/v1.rst +++ b/specification/rooms/v1.rst @@ -89,8 +89,14 @@ State resolution ~~~~~~~~~~~~~~~~ .. WARNING:: - Room version 1 is known to have bugs that can cause the state of rooms to reset. - This is fixed in room version 2 and later. + Room version 1 is known to have bugs that can cause the state of rooms to reset + to older versions of the room's state. For example this could mean that users + who had joined the room may be removed from the room, admins and moderators + could lose their power level, and users who has been banned from the room may + be able to rejoin. Other state events such as the the room's name or topic could + also reset to a previous version. + + This is fixed in the state resolution algorithm introduced in room version 2. The room state :math:`S'(E)` after an event :math:`E` is defined in terms of the room state :math:`S(E)` before :math:`E`, and depends on whether From bc085fd75dcfd6369020fe8fa62636d59fed7a96 Mon Sep 17 00:00:00 2001 From: Aaron Raimist Date: Tue, 13 Oct 2020 11:44:06 -0500 Subject: [PATCH 4/5] Remove extra space Signed-off-by: Aaron Raimist --- specification/rooms/v1.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/specification/rooms/v1.rst b/specification/rooms/v1.rst index 14df799b..2018eb8b 100644 --- a/specification/rooms/v1.rst +++ b/specification/rooms/v1.rst @@ -79,7 +79,7 @@ The algorithms defined here should only apply to version 1 rooms. Other algorith may be used by other room versions, and as such servers should be aware of which version room they are dealing with prior to executing a given algorithm. - .. WARNING:: +.. WARNING:: Although there are many rooms using room version 1, it is known to have undesirable effects. Servers implementing support for room version 1 should be aware that restrictions should be generally relaxed and that inconsistencies From 5ce774629b4c139d4a5eac3bd4f3b1281b7b6a6f Mon Sep 17 00:00:00 2001 From: Travis Ralston Date: Wed, 14 Oct 2020 16:23:57 -0600 Subject: [PATCH 5/5] Update specification/rooms/v1.rst --- specification/rooms/v1.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/specification/rooms/v1.rst b/specification/rooms/v1.rst index 2018eb8b..a7d5383d 100644 --- a/specification/rooms/v1.rst +++ b/specification/rooms/v1.rst @@ -92,7 +92,7 @@ State resolution Room version 1 is known to have bugs that can cause the state of rooms to reset to older versions of the room's state. For example this could mean that users who had joined the room may be removed from the room, admins and moderators - could lose their power level, and users who has been banned from the room may + could lose their power level, and users who have been banned from the room may be able to rejoin. Other state events such as the the room's name or topic could also reset to a previous version.