diff options
author | Patrick Cloke <clokep@users.noreply.github.com> | 2023-03-14 08:18:49 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-03-14 08:18:49 -0400 |
commit | e7b559d2ca3d8ea11c32946bd1607078dc2873f8 (patch) | |
tree | de4cc2b786b29e6f010ee54f80a019f76bcf382a /synapse | |
parent | Merge branch 'release-v1.79' into develop (diff) | |
download | synapse-e7b559d2ca3d8ea11c32946bd1607078dc2873f8.tar.xz |
Avoid unneeded work if auto-join rooms aren't configured. (#15262)
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.
Diffstat (limited to 'synapse')
-rw-r--r-- | synapse/handlers/register.py | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/synapse/handlers/register.py b/synapse/handlers/register.py index e4e506e62c..6b110dcb6e 100644 --- a/synapse/handlers/register.py +++ b/synapse/handlers/register.py @@ -596,14 +596,20 @@ class RegistrationHandler: 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 |