Attempt 1 at fixing

The event isn't being sent to the remote homeserver, so try sending
something to notify of the disinvite.
This commit is contained in:
Travis Ralston 2019-03-05 22:53:41 -07:00
parent 77cee5d880
commit b93bdb8e4e

View file

@ -455,6 +455,7 @@ class RoomMemberHandler(object):
logger.info("Is host in room? %s" % is_host_in_room)
logger.info("effective_membership_state %s" % effective_membership_state)
logger.info("remote_room_hosts %s" % remote_room_hosts)
logger.info("hs_is_mine %s" % self.hs.is_mine(target))
if effective_membership_state == Membership.JOIN:
if requester.is_guest:
@ -485,6 +486,14 @@ class RoomMemberHandler(object):
defer.returnValue(ret)
elif effective_membership_state == Membership.LEAVE:
# Send disinvite events to remotes
remote_invite = self.hs.is_mine(target)
if remote_invite and is_host_in_room:
remote_room_hosts = remote_room_hosts + [target.domain]
res = yield self._remote_reject_invite(
requester, remote_room_hosts, room_id, target,
)
defer.returnValue(res)
if not is_host_in_room:
# perhaps we've been invited
inviter = yield self._get_inviter(target.to_string(), room_id)