summary refs log tree commit diff
path: root/synapse/api
diff options
context:
space:
mode:
authorErik Johnston <erik@matrix.org>2017-06-09 10:52:26 +0100
committerErik Johnston <erik@matrix.org>2017-06-09 10:52:26 +0100
commit0185b75381c160edaf2bec0b9f4def0bb0d67a02 (patch)
tree55e8ba309e5736457b3c187974d2eb6f33049803 /synapse/api
parentMerge pull request #2263 from matrix-org/erikj/fix_state_woes (diff)
downloadsynapse-0185b75381c160edaf2bec0b9f4def0bb0d67a02.tar.xz
Change is_host_joined to use current_state table
This bypasses a bug where using the state groups to figure out if a host
is in a room sometimes errors if the servers isn't in the room. (For
example when the server rejected an invite to a remote room)
Diffstat (limited to 'synapse/api')
-rw-r--r--synapse/api/auth.py13
1 files changed, 2 insertions, 11 deletions
diff --git a/synapse/api/auth.py b/synapse/api/auth.py
index 9dbc7993df..0c297cb022 100644
--- a/synapse/api/auth.py
+++ b/synapse/api/auth.py
@@ -144,17 +144,8 @@ class Auth(object):
     @defer.inlineCallbacks
     def check_host_in_room(self, room_id, host):
         with Measure(self.clock, "check_host_in_room"):
-            latest_event_ids = yield self.store.get_latest_event_ids_in_room(room_id)
-
-            logger.debug("calling resolve_state_groups from check_host_in_room")
-            entry = yield self.state.resolve_state_groups(
-                room_id, latest_event_ids
-            )
-
-            ret = yield self.store.is_host_joined(
-                room_id, host, entry.state_group, entry.state
-            )
-            defer.returnValue(ret)
+            latest_event_ids = yield self.store.is_host_joined(room_id, host)
+            defer.returnValue(latest_event_ids)
 
     def _check_joined_room(self, member, user_id, room_id):
         if not member or member.membership != Membership.JOIN: