summaryrefslogtreecommitdiff
path: root/synapse/appservice/api.py
diff options
context:
space:
mode:
authorAndrej Shadura <andrewsh@debian.org>2021-06-29 12:59:58 +0200
committerAndrej Shadura <andrewsh@debian.org>2021-06-29 12:59:58 +0200
commit364c37238258580e132178cc7b35acabce3ff326 (patch)
treedadc23431f7f55fd8bcd8780c64b519dae7d5a76 /synapse/appservice/api.py
parent219af4a8aef838c5e3689a2aa71cf72f2fd75aa2 (diff)
New upstream version 1.37.0
Diffstat (limited to 'synapse/appservice/api.py')
-rw-r--r--synapse/appservice/api.py11
1 files changed, 8 insertions, 3 deletions
diff --git a/synapse/appservice/api.py b/synapse/appservice/api.py
index fe04d7a6..61152b2c 100644
--- a/synapse/appservice/api.py
+++ b/synapse/appservice/api.py
@@ -17,7 +17,7 @@ from typing import TYPE_CHECKING, List, Optional, Tuple
from prometheus_client import Counter
-from synapse.api.constants import EventTypes, ThirdPartyEntityKind
+from synapse.api.constants import EventTypes, Membership, ThirdPartyEntityKind
from synapse.api.errors import CodeMessageException
from synapse.events import EventBase
from synapse.events.utils import serialize_event
@@ -247,9 +247,14 @@ class ApplicationServiceApi(SimpleHttpClient):
e,
time_now,
as_client_event=True,
- is_invite=(
+ # If this is an invite or a knock membership event, and we're interested
+ # in this user, then include any stripped state alongside the event.
+ include_stripped_room_state=(
e.type == EventTypes.Member
- and e.membership == "invite"
+ and (
+ e.membership == Membership.INVITE
+ or e.membership == Membership.KNOCK
+ )
and service.is_interested_in_user(e.state_key)
),
)