mirror of
https://git.anonymousland.org/anonymousland/synapse.git
synced 2025-06-22 19:04:07 -04:00
Don't alter directory entries for local users when setting a per-room nickname (#11002)
Co-authored-by: Patrick Cloke <clokep@users.noreply.github.com>
This commit is contained in:
parent
96fe77c254
commit
e0bf34dada
3 changed files with 48 additions and 7 deletions
|
@ -203,6 +203,7 @@ class UserDirectoryHandler(StateDeltasHandler):
|
|||
public_value=Membership.JOIN,
|
||||
)
|
||||
|
||||
is_remote = not self.is_mine_id(state_key)
|
||||
if change is MatchChange.now_false:
|
||||
# Need to check if the server left the room entirely, if so
|
||||
# we might need to remove all the users in that room
|
||||
|
@ -224,15 +225,20 @@ class UserDirectoryHandler(StateDeltasHandler):
|
|||
else:
|
||||
logger.debug("Server is still in room: %r", room_id)
|
||||
|
||||
include_in_dir = not self.is_mine_id(
|
||||
state_key
|
||||
) or await self.store.should_include_local_user_in_dir(state_key)
|
||||
include_in_dir = (
|
||||
is_remote
|
||||
or await self.store.should_include_local_user_in_dir(state_key)
|
||||
)
|
||||
if include_in_dir:
|
||||
if change is MatchChange.no_change:
|
||||
# Handle any profile changes
|
||||
await self._handle_profile_change(
|
||||
state_key, room_id, prev_event_id, event_id
|
||||
)
|
||||
# Handle any profile changes for remote users.
|
||||
# (For local users we are not forced to scan membership
|
||||
# events; instead the rest of the application calls
|
||||
# `handle_local_profile_change`.)
|
||||
if is_remote:
|
||||
await self._handle_profile_change(
|
||||
state_key, room_id, prev_event_id, event_id
|
||||
)
|
||||
continue
|
||||
|
||||
if change is MatchChange.now_true: # The user joined
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue