mirror of
https://git.anonymousland.org/anonymousland/synapse.git
synced 2025-06-28 16:47:24 -04:00
Return read-only collections from @cached
methods (#13755)
It's important that collections returned from `@cached` methods are not modified, otherwise future retrievals from the cache will return the modified collection. This applies to the return values from `@cached` methods and the values inside the dictionaries returned by `@cachedList` methods. It's not necessary for the dictionaries returned by `@cachedList` methods themselves to be read-only. Signed-off-by: Sean Quah <seanq@matrix.org> Co-authored-by: David Robertson <davidr@element.io>
This commit is contained in:
parent
14be78d492
commit
d0c713cc85
27 changed files with 98 additions and 77 deletions
|
@ -1519,7 +1519,7 @@ class SyncHandler:
|
|||
one_time_keys_count = await self.store.count_e2e_one_time_keys(
|
||||
user_id, device_id
|
||||
)
|
||||
unused_fallback_key_types = (
|
||||
unused_fallback_key_types = list(
|
||||
await self.store.get_e2e_unused_fallback_key_types(user_id, device_id)
|
||||
)
|
||||
|
||||
|
@ -2301,7 +2301,7 @@ class SyncHandler:
|
|||
sync_result_builder: "SyncResultBuilder",
|
||||
room_builder: "RoomSyncResultBuilder",
|
||||
ephemeral: List[JsonDict],
|
||||
tags: Optional[Dict[str, Dict[str, Any]]],
|
||||
tags: Optional[Mapping[str, Mapping[str, Any]]],
|
||||
account_data: Mapping[str, JsonDict],
|
||||
always_include: bool = False,
|
||||
) -> None:
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue