Skip to content
This repository has been archived by the owner on Apr 26, 2024. It is now read-only.

Refactors in _generate_sync_entry_for_rooms #11515

Merged
merged 13 commits into from
Dec 7, 2021
30 changes: 17 additions & 13 deletions synapse/handlers/sync.py
Original file line number Diff line number Diff line change
Expand Up @@ -1545,19 +1545,7 @@ async def _generate_sync_entry_for_rooms(
logger.debug("no-oping sync")
return set(), set(), set(), set()

ignored_account_data = (
await self.store.get_global_account_data_by_type_for_user(
AccountDataTypes.IGNORED_USER_LIST, user_id=user_id
)
)

# If there is ignored users account data and it matches the proper type,
# then use it.
ignored_users: FrozenSet[str] = frozenset()
if ignored_account_data:
ignored_users_data = ignored_account_data.get("ignored_users", {})
if isinstance(ignored_users_data, dict):
ignored_users = frozenset(ignored_users_data.keys())
ignored_users = await self._get_ignored_users(user_id)

if since_token:
room_changes = await self._get_rooms_changed(
Expand Down Expand Up @@ -1630,6 +1618,22 @@ async def handle_room_entries(room_entry: "RoomSyncResultBuilder") -> None:
newly_left_users,
)

async def _get_ignored_users(self, user_id: str) -> FrozenSet[str]:
clokep marked this conversation as resolved.
Show resolved Hide resolved
ignored_account_data = (
await self.store.get_global_account_data_by_type_for_user(
AccountDataTypes.IGNORED_USER_LIST, user_id=user_id
)
)
clokep marked this conversation as resolved.
Show resolved Hide resolved

# If there is ignored users account data and it matches the proper type,
# then use it.
ignored_users: FrozenSet[str] = frozenset()
if ignored_account_data:
ignored_users_data = ignored_account_data.get("ignored_users", {})
if isinstance(ignored_users_data, dict):
ignored_users = frozenset(ignored_users_data.keys())
return ignored_users

async def _have_rooms_changed(
self, sync_result_builder: "SyncResultBuilder"
) -> bool:
Expand Down