From 472f75d9a596b331f49fd0ab3c2a02ae80dfca9f Mon Sep 17 00:00:00 2001 From: Erik Johnston Date: Fri, 3 Aug 2018 12:18:41 +0100 Subject: [PATCH] Mention hotel california --- proposals/1442-state-resolution.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/proposals/1442-state-resolution.md b/proposals/1442-state-resolution.md index ce36efa5..9fd7da8a 100644 --- a/proposals/1442-state-resolution.md +++ b/proposals/1442-state-resolution.md @@ -168,6 +168,14 @@ also taken into account. This case can be handled if we also consider the difference in auth chains between the two sets, which in the previous example would include B. +(This is also the root cause of the "Hotel California" issue, where left users +get spontaneously rejoined to rooms. This happens when a user has a sequence of +memberships changes of the form: leave (A), join (B) and then another leave (C). +In the current algorithm a resoluton of A and C would pick A, and a resolution +of A and B would then pick B, i.e. the join. This means that a suitably forked +graph can reset the state to B. This is fixed if when resolving A and C we also +consider B, since its in the auth chain of C.) + ## Power Level Ordering