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

Fix exception thrown when attempting to add an appservice sender to user_directory #11026

Prev Previous commit
Next Next commit
Add better comment explanations
  • Loading branch information
MadLittleMods committed Oct 8, 2021
commit 65232341d8a473ad63fa78b08dfcb83b9974d7a4
12 changes: 10 additions & 2 deletions synapse/storage/databases/main/user_directory.py
Original file line number Diff line number Diff line change
Expand Up @@ -383,11 +383,19 @@ async def should_include_local_user_in_dir(self, user: str) -> bool:
"""Certain classes of local user are omitted from the user directory.
Is this user one of them?
"""
# The main app service sender isn't usually contactable, so exclude them
# We're opting to exclude the appservice sender (user defined by the
# `sender_localpart` in the appservice registration) even though
# technically it could be DM-able. In the future, this could potentially
# be configurable per-appservice whether the appservice sender can be
# contacted.
if self.get_app_service_by_user_id(user) is not None:
return False

# App service users aren't usually contactable, so exclude them.
# We're opting to exclude appservice users (anyone matching the user
# namespace regex in the appservice registration) even though technically
# they could be DM-able. In the future, this could potentially
# be configurable per-appservice whether the appservice users can be
# contacted.
if self.get_if_app_services_interested_in_user(user):
# TODO we might want to make this configurable for each app service
return False
Expand Down