diff options
author | Erik Johnston <erik@matrix.org> | 2014-09-03 15:50:05 +0100 |
---|---|---|
committer | Erik Johnston <erik@matrix.org> | 2014-09-03 15:50:05 +0100 |
commit | b5f9d47c89a52d46ccbe4cc364d57e93c72fd22c (patch) | |
tree | 3e0864f89166312849a9b2b83643ce7d62259c20 /synapse/state.py | |
parent | Snapshot prev_state for generic events (diff) | |
download | synapse-b5f9d47c89a52d46ccbe4cc364d57e93c72fd22c.tar.xz |
Handle new state events which don't have a common ancestor
Diffstat (limited to 'synapse/state.py')
-rw-r--r-- | synapse/state.py | 12 |
1 files changed, 12 insertions, 0 deletions
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 |