Merge pull request #3080 from matrix-org/rav/fix_500_on_rejoin

Return a 404 rather than a 500 on rejoining empty rooms
This commit is contained in:
Richard van der Hoff 2018-04-09 17:32:36 +01:00 committed by GitHub
commit d2c6f4d626
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -852,6 +852,14 @@ class RoomMemberMasterHandler(RoomMemberHandler):
def _remote_join(self, requester, remote_room_hosts, room_id, user, content):
"""Implements RoomMemberHandler._remote_join
"""
# filter ourselves out of remote_room_hosts: do_invite_join ignores it
# and if it is the only entry we'd like to return a 404 rather than a
# 500.
remote_room_hosts = [
host for host in remote_room_hosts if host != self.hs.hostname
]
if len(remote_room_hosts) == 0:
raise SynapseError(404, "No known servers")