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

Commit 59e40ca

Browse files
committed
Fast-path filtering out all rooms.
1 parent b0480c6 commit 59e40ca

File tree

2 files changed

+8
-0
lines changed

2 files changed

+8
-0
lines changed

synapse/api/filtering.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -283,6 +283,9 @@ async def filter_room_account_data(
283283
await self._room_filter.filter(events)
284284
)
285285

286+
def blocks_all_rooms(self) -> bool:
287+
return self._room_filter.filters_all_rooms()
288+
286289
def blocks_all_presence(self) -> bool:
287290
return (
288291
self._presence_filter.filters_all_types()

synapse/handlers/sync.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1792,6 +1792,11 @@ async def _generate_sync_entry_for_rooms(
17921792
- newly_left_rooms
17931793
- newly_left_users
17941794
"""
1795+
1796+
# If the request doesn't care about rooms then nothing to do!
1797+
if sync_result_builder.sync_config.filter_collection.blocks_all_rooms():
1798+
return (set(), set(), set(), set())
1799+
17951800
since_token = sync_result_builder.since_token
17961801

17971802
# 1. Start by fetching all ephemeral events in rooms we've joined (if required).

0 commit comments

Comments
 (0)