2 files changed, 6 insertions, 1 deletions
diff --git a/synapse/storage/events.py b/synapse/storage/events.py
index c80d181fc7..72ce84b0b8 100644
--- a/synapse/storage/events.py
+++ b/synapse/storage/events.py
@@ -776,6 +776,11 @@ class EventsStore(SQLBaseStore):
txn, self.get_rooms_for_user, (member,)
)
+ for host in set(get_domain_from_id(u) for u in members_changed):
+ self._invalidate_cache_and_stream(
+ txn, self.is_host_joined, (room_id, host)
+ )
+
self._invalidate_cache_and_stream(
txn, self.get_users_in_room, (room_id,)
)
diff --git a/synapse/storage/roommember.py b/synapse/storage/roommember.py
index e38bbd22a3..457ca288d0 100644
--- a/synapse/storage/roommember.py
+++ b/synapse/storage/roommember.py
@@ -501,7 +501,7 @@ class RoomMemberStore(SQLBaseStore):
defer.returnValue(users_in_room)
- @defer.inlineCallbacks
+ @cachedInlineCallbacks(max_entries=10000)
def is_host_joined(self, room_id, host):
if '%' in host or '_' in host:
raise Exception("Invalid host name")
|