diff options
author | Erik Johnston <erikj@jki.re> | 2018-08-22 10:04:55 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-08-22 10:04:55 +0100 |
commit | 3bf8bab8f9d9bbdf225361adc66a97fdf4ae3fcd (patch) | |
tree | e43a5df4670f4da60604e5cc03e507db4efd99ad /synapse/handlers | |
parent | Merge pull request #3735 from matrix-org/travis/federation-spelling (diff) | |
parent | Merge branch 'develop' of github.com:matrix-org/synapse into erikj/refactor_s... (diff) | |
download | synapse-3bf8bab8f9d9bbdf225361adc66a97fdf4ae3fcd.tar.xz |
Merge pull request #3673 from matrix-org/erikj/refactor_state_handler
Refactor state module to support multiple room versions
Diffstat (limited to 'synapse/handlers')
-rw-r--r-- | synapse/handlers/federation.py | 6 | ||||
-rw-r--r-- | synapse/handlers/room_member.py | 1 |
2 files changed, 6 insertions, 1 deletions
diff --git a/synapse/handlers/federation.py b/synapse/handlers/federation.py index 3dd107a285..0ebf0fd188 100644 --- a/synapse/handlers/federation.py +++ b/synapse/handlers/federation.py @@ -291,8 +291,9 @@ class FederationHandler(BaseHandler): ev_ids, get_prev_content=False, check_redacted=False ) + room_version = yield self.store.get_room_version(pdu.room_id) state_map = yield resolve_events_with_factory( - state_groups, {pdu.event_id: pdu}, fetch + room_version, state_groups, {pdu.event_id: pdu}, fetch ) state = (yield self.store.get_events(state_map.values())).values() @@ -1828,7 +1829,10 @@ class FederationHandler(BaseHandler): (d.type, d.state_key): d for d in different_events if d }) + room_version = yield self.store.get_room_version(event.room_id) + new_state = self.state_handler.resolve_events( + room_version, [list(local_view.values()), list(remote_view.values())], event ) diff --git a/synapse/handlers/room_member.py b/synapse/handlers/room_member.py index fb94b5d7d4..f643619047 100644 --- a/synapse/handlers/room_member.py +++ b/synapse/handlers/room_member.py @@ -344,6 +344,7 @@ class RoomMemberHandler(object): latest_event_ids = ( event_id for (event_id, _, _) in prev_events_and_hashes ) + current_state_ids = yield self.state_handler.get_current_state_ids( room_id, latest_event_ids=latest_event_ids, ) |