summaryrefslogtreecommitdiff
path: root/synapse/state
diff options
context:
space:
mode:
authorRichard van der Hoff <richard@matrix.org>2018-11-20 10:13:10 +0000
committerRichard van der Hoff <richard@matrix.org>2018-11-20 10:36:59 +0000
commitda91dde24c0eb0fc5c596cb1135c1d8574f8e8c3 (patch)
treef591ac30afc0e589c483421cbf8061fb56e27504 /synapse/state
parent4aa4aef0e3a984c30b05e7c4dc272ff9388646ac (diff)
New upstream version 0.33.9
Diffstat (limited to 'synapse/state')
-rw-r--r--synapse/state/__init__.py4
-rw-r--r--synapse/state/v2.py20
2 files changed, 14 insertions, 10 deletions
diff --git a/synapse/state/__init__.py b/synapse/state/__init__.py
index 9b40b18d..70048b0c 100644
--- a/synapse/state/__init__.py
+++ b/synapse/state/__init__.py
@@ -261,7 +261,7 @@ class StateHandler(object):
logger.debug("calling resolve_state_groups from compute_event_context")
entry = yield self.resolve_state_groups_for_events(
- event.room_id, [e for e, _ in event.prev_events],
+ event.room_id, event.prev_event_ids(),
)
prev_state_ids = entry.state
@@ -607,7 +607,7 @@ def resolve_events_with_store(room_version, state_sets, event_map, state_res_sto
return v1.resolve_events_with_store(
state_sets, event_map, state_res_store.get_events,
)
- elif room_version == RoomVersions.VDH_TEST:
+ elif room_version in (RoomVersions.VDH_TEST, RoomVersions.STATE_V2_TEST):
return v2.resolve_events_with_store(
state_sets, event_map, state_res_store,
)
diff --git a/synapse/state/v2.py b/synapse/state/v2.py
index 5d06f7e9..3573bb00 100644
--- a/synapse/state/v2.py
+++ b/synapse/state/v2.py
@@ -53,6 +53,10 @@ def resolve_events_with_store(state_sets, event_map, state_res_store):
logger.debug("Computing conflicted state")
+ # We use event_map as a cache, so if its None we need to initialize it
+ if event_map is None:
+ event_map = {}
+
# First split up the un/conflicted state
unconflicted_state, conflicted_state = _seperate(state_sets)
@@ -155,7 +159,7 @@ def _get_power_level_for_sender(event_id, event_map, state_res_store):
event = yield _get_event(event_id, event_map, state_res_store)
pl = None
- for aid, _ in event.auth_events:
+ for aid in event.auth_event_ids():
aev = yield _get_event(aid, event_map, state_res_store)
if (aev.type, aev.state_key) == (EventTypes.PowerLevels, ""):
pl = aev
@@ -163,7 +167,7 @@ def _get_power_level_for_sender(event_id, event_map, state_res_store):
if pl is None:
# Couldn't find power level. Check if they're the creator of the room
- for aid, _ in event.auth_events:
+ for aid in event.auth_event_ids():
aev = yield _get_event(aid, event_map, state_res_store)
if (aev.type, aev.state_key) == (EventTypes.Create, ""):
if aev.content.get("creator") == event.sender:
@@ -295,7 +299,7 @@ def _add_event_and_auth_chain_to_graph(graph, event_id, event_map,
graph.setdefault(eid, set())
event = yield _get_event(eid, event_map, state_res_store)
- for aid, _ in event.auth_events:
+ for aid in event.auth_event_ids():
if aid in auth_diff:
if aid not in graph:
state.append(aid)
@@ -365,7 +369,7 @@ def _iterative_auth_checks(event_ids, base_state, event_map, state_res_store):
event = event_map[event_id]
auth_events = {}
- for aid, _ in event.auth_events:
+ for aid in event.auth_event_ids():
ev = yield _get_event(aid, event_map, state_res_store)
if ev.rejected_reason is None:
@@ -413,9 +417,9 @@ def _mainline_sort(event_ids, resolved_power_event_id, event_map,
while pl:
mainline.append(pl)
pl_ev = yield _get_event(pl, event_map, state_res_store)
- auth_events = pl_ev.auth_events
+ auth_events = pl_ev.auth_event_ids()
pl = None
- for aid, _ in auth_events:
+ for aid in auth_events:
ev = yield _get_event(aid, event_map, state_res_store)
if (ev.type, ev.state_key) == (EventTypes.PowerLevels, ""):
pl = aid
@@ -460,10 +464,10 @@ def _get_mainline_depth_for_event(event, mainline_map, event_map, state_res_stor
if depth is not None:
defer.returnValue(depth)
- auth_events = event.auth_events
+ auth_events = event.auth_event_ids()
event = None
- for aid, _ in auth_events:
+ for aid in auth_events:
aev = yield _get_event(aid, event_map, state_res_store)
if (aev.type, aev.state_key) == (EventTypes.PowerLevels, ""):
event = aev