From 5f761ab5b47f257fa5b3c7f5120a67e3a64127fa Mon Sep 17 00:00:00 2001 From: Jason Robinson Date: Thu, 25 Jun 2026 17:39:42 +0300 Subject: [PATCH] Use set for uniqueness --- synapse/handlers/profile.py | 14 +++++++------- synapse/storage/databases/main/profile.py | 2 +- tests/storage/test_profile.py | 4 ++-- 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/synapse/handlers/profile.py b/synapse/handlers/profile.py index d04b3129c6..4a47df2fdb 100644 --- a/synapse/handlers/profile.py +++ b/synapse/handlers/profile.py @@ -103,14 +103,14 @@ class ProfileHandler: self._worker_locks = hs.get_worker_locks_handler() async def _record_profile_updates( - self, user_id: UserID, updated_fields: list[str] + self, user_id: UserID, updated_fields: set[str] ) -> None: """ Record user profile updates to our stream updates table. Args: user_id: The user whose profile has had updates. - updated_fields: A list of the names of the fields that were updated. + updated_fields: A set of the names of the fields that were updated. Returns: None @@ -300,7 +300,7 @@ class ProfileHandler: await self.store.set_profile_displayname(target_user, displayname_to_set) await self._record_profile_updates( target_user, - [ProfileFields.DISPLAYNAME], + {ProfileFields.DISPLAYNAME}, ) profile = await self.store.get_profileinfo(target_user) @@ -413,7 +413,7 @@ class ProfileHandler: await self.store.set_profile_avatar_url(target_user, avatar_url_to_set) await self._record_profile_updates( target_user, - [ProfileFields.AVATAR_URL], + {ProfileFields.AVATAR_URL}, ) profile = await self.store.get_profileinfo(target_user) @@ -545,7 +545,7 @@ class ProfileHandler: await self.store.delete_profile(target_user) await self._record_profile_updates( - target_user, [field_name for field_name, _value in profile_updates] + target_user, {field_name for field_name, _value in profile_updates} ) await self._third_party_rules.on_profile_update( @@ -746,7 +746,7 @@ class ProfileHandler: raise AuthError(403, "Cannot set another user's profile") await self.store.set_profile_field(target_user, field_name, new_value) - await self._record_profile_updates(target_user, [field_name]) + await self._record_profile_updates(target_user, {field_name}) # Custom fields do not propagate into the user directory *or* rooms. profile = await self.store.get_profileinfo(target_user) @@ -782,7 +782,7 @@ class ProfileHandler: raise AuthError(400, "Cannot set another user's profile") await self.store.delete_profile_field(target_user, field_name) - await self._record_profile_updates(target_user, [field_name]) + await self._record_profile_updates(target_user, {field_name}) # Custom fields do not propagate into the user directory *or* rooms. profile = await self.store.get_profileinfo(target_user) diff --git a/synapse/storage/databases/main/profile.py b/synapse/storage/databases/main/profile.py index 7185c88ad8..605bfacf3a 100644 --- a/synapse/storage/databases/main/profile.py +++ b/synapse/storage/databases/main/profile.py @@ -592,7 +592,7 @@ class ProfileWorkerStore(SQLBaseStore): self, user_id: UserID, action: str, - updated_fields: list[str] | None, + updated_fields: set[str] | None, ) -> int: """Persist profile update markers and return the last stream ID.""" assert self._can_write_to_profile_updates diff --git a/tests/storage/test_profile.py b/tests/storage/test_profile.py index d02c7e6388..f672c39a97 100644 --- a/tests/storage/test_profile.py +++ b/tests/storage/test_profile.py @@ -174,7 +174,7 @@ class ProfileStoreTestCase(unittest.HomeserverTestCase): stream_id = self.get_success( self.store.add_profile_updates( user_id=UserID.from_string("@user:test"), - updated_fields=[next(field_name_gen)], + updated_fields={next(field_name_gen)}, action=ProfileUpdateAction.UPDATE.value, ) ) @@ -202,7 +202,7 @@ class ProfileStoreTestCase(unittest.HomeserverTestCase): stream_id = self.get_success( self.store.add_profile_updates( user_id=UserID.from_string("@user:test"), - updated_fields=[next(field_name_gen)], + updated_fields={next(field_name_gen)}, action=ProfileUpdateAction.UPDATE.value, ) )