mirror of
https://github.com/element-hq/synapse
synced 2024-08-20 12:00:21 +00:00
Send ALL membership events to the server that was affected.
Send all membership changes to the server that was affected. This ensures that if the last member of a room on a server was kicked or banned they get told about it.
This commit is contained in:
parent
f3de4f8cb7
commit
b6b67715ed
1 changed files with 5 additions and 3 deletions
|
@ -19,7 +19,7 @@ from twisted.internet import defer
|
||||||
from .persistence import TransactionActions
|
from .persistence import TransactionActions
|
||||||
from .units import Transaction, Edu
|
from .units import Transaction, Edu
|
||||||
|
|
||||||
from synapse.api.constants import EventTypes, Membership
|
from synapse.api.constants import EventTypes
|
||||||
from synapse.api.errors import HttpResponseException
|
from synapse.api.errors import HttpResponseException
|
||||||
from synapse.util.async import run_on_reactor
|
from synapse.util.async import run_on_reactor
|
||||||
from synapse.util.logcontext import preserve_context_over_fn
|
from synapse.util.logcontext import preserve_context_over_fn
|
||||||
|
@ -161,9 +161,11 @@ class TransactionQueue(object):
|
||||||
get_domain_from_id(user_id) for user_id in users_in_room
|
get_domain_from_id(user_id) for user_id in users_in_room
|
||||||
)
|
)
|
||||||
|
|
||||||
|
# Send all membership changes to the server that was affected.
|
||||||
|
# This ensures that if the last member of a room on a server
|
||||||
|
# was kicked or banned they get told about it.
|
||||||
if event.type == EventTypes.Member:
|
if event.type == EventTypes.Member:
|
||||||
if event.content["membership"] == Membership.JOIN:
|
destinations.add(get_domain_from_id(event.state_key))
|
||||||
destinations.add(get_domain_from_id(event.state_key))
|
|
||||||
|
|
||||||
logger.debug("Sending %s to %r", event, destinations)
|
logger.debug("Sending %s to %r", event, destinations)
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue