summary refs log tree commit diff
path: root/synapse/appservice/api.py
diff options
context:
space:
mode:
authorAndrew Morgan <andrew@amorgan.xyz>2020-08-03 17:29:28 -0700
committerAndrew Morgan <andrew@amorgan.xyz>2020-08-03 17:29:28 -0700
commitcf30af504d2e654ca1d658304f05f0442addba06 (patch)
treecfb08df2a82b52aa312cc37d701a181359d5a51a /synapse/appservice/api.py
parentMerge commit '6cef918a4' into anoa/dinsic_release_1_18_x (diff)
parentInclude room states on invite events sent to ASes (#6455) (diff)
downloadsynapse-cf30af504d2e654ca1d658304f05f0442addba06.tar.xz
Merge commit '1bca21e1d' into anoa/dinsic_release_1_18_x
* commit '1bca21e1d':
  Include room states on invite events sent to ASes (#6455)
Diffstat (limited to 'synapse/appservice/api.py')
-rw-r--r--synapse/appservice/api.py20
1 files changed, 16 insertions, 4 deletions
diff --git a/synapse/appservice/api.py b/synapse/appservice/api.py

index f92bfb420b..1e0e4d497d 100644 --- a/synapse/appservice/api.py +++ b/synapse/appservice/api.py
@@ -19,7 +19,7 @@ from prometheus_client import Counter from twisted.internet import defer -from synapse.api.constants import ThirdPartyEntityKind +from synapse.api.constants import EventTypes, ThirdPartyEntityKind from synapse.api.errors import CodeMessageException from synapse.events.utils import serialize_event from synapse.http.client import SimpleHttpClient @@ -207,7 +207,7 @@ class ApplicationServiceApi(SimpleHttpClient): if service.url is None: return True - events = self._serialize(events) + events = self._serialize(service, events) if txn_id is None: logger.warning( @@ -233,6 +233,18 @@ class ApplicationServiceApi(SimpleHttpClient): failed_transactions_counter.labels(service.id).inc() return False - def _serialize(self, events): + def _serialize(self, service, events): time_now = self.clock.time_msec() - return [serialize_event(e, time_now, as_client_event=True) for e in events] + return [ + serialize_event( + e, + time_now, + as_client_event=True, + is_invite=( + e.type == EventTypes.Member + and e.membership == "invite" + and service.is_interested_in_user(e.state_key) + ), + ) + for e in events + ]