mirror of
https://github.com/element-hq/synapse.git
synced 2026-07-28 14:19:59 +00:00
Revert "Make delete_profile_upon_deactivation first delete the profile fields, to update the profile updates stream"
This reverts commit 1937e764ad.
This commit is contained in:
+19
-28
@@ -566,39 +566,30 @@ class ProfileHandler:
|
||||
# have it.
|
||||
raise AuthError(400, "Cannot remove another user's profile")
|
||||
|
||||
current_profile = await self.store.get_profileinfo(target_user)
|
||||
profile_updates: list[tuple[str, JsonValue | None]] = []
|
||||
current_profile: ProfileInfo | None = None
|
||||
|
||||
# First delete the profile fields individually.
|
||||
# This ensures we also populate the profile update stream correctly.
|
||||
if current_profile.display_name is not None:
|
||||
await self.dispatch_set_profile_field(
|
||||
target_user=target_user,
|
||||
requester=requester,
|
||||
field_name=ProfileFields.DISPLAYNAME,
|
||||
new_value="",
|
||||
by_admin=by_admin,
|
||||
)
|
||||
if current_profile.avatar_url is not None:
|
||||
await self.dispatch_set_profile_field(
|
||||
target_user=target_user,
|
||||
requester=requester,
|
||||
field_name=ProfileFields.AVATAR_URL,
|
||||
new_value="",
|
||||
by_admin=by_admin,
|
||||
)
|
||||
if self._msc4429_enabled:
|
||||
if current_profile is None:
|
||||
current_profile = await self.store.get_profileinfo(target_user)
|
||||
|
||||
custom_fields = await self.store.get_profile_fields(target_user)
|
||||
for field_name in custom_fields.keys():
|
||||
await self.dispatch_delete_profile_field(
|
||||
target_user=target_user,
|
||||
requester=requester,
|
||||
field_name=field_name,
|
||||
by_admin=by_admin,
|
||||
)
|
||||
if current_profile.display_name is not None:
|
||||
profile_updates.append((ProfileFields.DISPLAYNAME, None))
|
||||
if current_profile.avatar_url is not None:
|
||||
profile_updates.append((ProfileFields.AVATAR_URL, None))
|
||||
|
||||
custom_fields = await self.store.get_profile_fields(target_user)
|
||||
for field_name in custom_fields.keys():
|
||||
profile_updates.append((field_name, None))
|
||||
|
||||
# Remove the whole profile from the database
|
||||
await self.store.delete_profile(target_user)
|
||||
|
||||
# Record profile updates for the profile update stream
|
||||
if len(profile_updates):
|
||||
await self._dispatch_record_profile_updates(
|
||||
target_user, {field_name for field_name, _value in profile_updates}
|
||||
)
|
||||
|
||||
await self._third_party_rules.on_profile_update(
|
||||
target_user.to_string(),
|
||||
ProfileInfo(None, None),
|
||||
|
||||
Reference in New Issue
Block a user