From b5f9d47c89a52d46ccbe4cc364d57e93c72fd22c Mon Sep 17 00:00:00 2001
From: Erik Johnston <erik@matrix.org>
Date: Wed, 3 Sep 2014 15:50:05 +0100
Subject: [PATCH] Handle new state events which don't have a common ancestor

---
 synapse/state.py | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/synapse/state.py b/synapse/state.py
index e1a1a159bb..bb208cafc7 100644
--- a/synapse/state.py
+++ b/synapse/state.py
@@ -179,6 +179,18 @@ class StateHandler(object):
                 key=lambda x: x.depth
             )
 
+            if not hasattr(missing_prev, "prev_state_id"):
+                # FIXME Hmm
+                # temporary fallback
+                for algo in conflict_res:
+                    new_res, curr_res = algo(new_branch, current_branch)
+
+                    if new_res < curr_res:
+                        defer.returnValue(False)
+                    elif new_res > curr_res:
+                        defer.returnValue(True)
+                return
+
             pdu_id = missing_prev.prev_state_id
             origin = missing_prev.prev_state_origin
 
-- 
GitLab