Skip to content
This repository has been archived by the owner on Apr 26, 2024. It is now read-only.

Commit

Permalink
Avoid unneeded work if auto-join rooms aren't configured. (#15262)
Browse files Browse the repository at this point in the history
It is not necessary to reach out to the database to check some
parameters if the auto-join rooms are not configured, or (in some cases)
if auto-create rooms is not configured.
  • Loading branch information
clokep committed Mar 14, 2023
1 parent a1c9869 commit e7b559d
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 2 deletions.
1 change: 1 addition & 0 deletions changelog.d/15262.misc
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Skip processing of auto-join room behaviour if there are not auto-join rooms configured.
10 changes: 8 additions & 2 deletions synapse/handlers/register.py
Original file line number Diff line number Diff line change
Expand Up @@ -596,14 +596,20 @@ async def _auto_join_rooms(self, user_id: str) -> None:
Args:
user_id: The user to join
"""
# If there are no rooms to auto-join, just bail.
if not self.hs.config.registration.auto_join_rooms:
return

# auto-join the user to any rooms we're supposed to dump them into

# try to create the room if we're the first real user on the server. Note
# that an auto-generated support or bot user is not a real user and will never be
# the user to create the room
should_auto_create_rooms = False
is_real_user = await self.store.is_real_user(user_id)
if self.hs.config.registration.autocreate_auto_join_rooms and is_real_user:
if (
self.hs.config.registration.autocreate_auto_join_rooms
and await self.store.is_real_user(user_id)
):
count = await self.store.count_real_users()
should_auto_create_rooms = count == 1

Expand Down

0 comments on commit e7b559d

Please sign in to comment.