0
0
Fork 1
mirror of https://mau.dev/maunium/synapse.git synced 2024-06-03 11:18:56 +02:00

Fix regression caused by #13573 (#13600)

Broke in #13573.
This commit is contained in:
Erik Johnston 2022-08-23 15:14:05 +01:00 committed by GitHub
parent bdfff9c36e
commit 05c9c7363b
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 7 additions and 4 deletions

1
changelog.d/13600.misc Normal file
View file

@ -0,0 +1 @@
Cache user IDs instead of profiles to reduce cache memory usage. Contributed by Nick @ Beeper (@fizzadar).

View file

@ -916,7 +916,9 @@ class RoomMemberWorkerStore(EventsWorkerStore):
event_to_memberships = await self._get_user_ids_from_membership_event_ids(
missing_member_event_ids
)
users_in_room.update(event_to_memberships.values())
users_in_room.update(
user_id for user_id in event_to_memberships.values() if user_id
)
if event is not None and event.type == EventTypes.Member:
if event.membership == Membership.JOIN:
@ -942,15 +944,15 @@ class RoomMemberWorkerStore(EventsWorkerStore):
)
async def _get_user_ids_from_membership_event_ids(
self, event_ids: Iterable[str]
) -> Dict[str, str]:
) -> Dict[str, Optional[str]]:
"""For given set of member event_ids check if they point to a join
event and if so return the associated user and profile info.
event.
Args:
event_ids: The member event IDs to lookup
Returns:
Map from event ID to `user_id` and ProfileInfo (or None if not join event).
Map from event ID to `user_id`, or None if event is not a join.
"""
rows = await self.db_pool.simple_select_many_batch(