forked from MirrorHub/synapse
Return a 404 rather than a 500 on rejoining empty rooms
Filter ourselves out of the server list before checking for an empty remote host list, to fix 500 error Fixes #2141
This commit is contained in:
parent
15e8ed874f
commit
f3ef60662f
1 changed files with 8 additions and 0 deletions
|
@ -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")
|
||||
|
||||
|
|
Loading…
Reference in a new issue