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:
Jason Robinson
2026-07-07 19:14:04 +03:00
parent 905226577f
commit d0aa8d00fc
+19 -28
View File
@@ -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),