1
0

Require explicit boolean options from callers

This commit is contained in:
David Robertson
2023-03-10 11:58:24 +00:00
parent ab4eea570f
commit 909eecb348
4 changed files with 52 additions and 10 deletions
@@ -547,6 +547,7 @@ class PerDestinationQueue:
self._server_name,
new_pdus,
redact=False,
filter_out_erased_senders=True,
)
# If we've filtered out all the extremities, fall back to
+18 -3
View File
@@ -1331,7 +1331,12 @@ class FederationHandler:
)
events = await filter_events_for_server(
self._storage_controllers, origin, self.server_name, events
self._storage_controllers,
origin,
self.server_name,
events,
redact=True,
filter_out_erased_senders=True,
)
return events
@@ -1362,7 +1367,12 @@ class FederationHandler:
await self._event_auth_handler.assert_host_in_room(event.room_id, origin)
events = await filter_events_for_server(
self._storage_controllers, origin, self.server_name, [event]
self._storage_controllers,
origin,
self.server_name,
[event],
redact=True,
filter_out_erased_senders=True,
)
event = events[0]
return event
@@ -1390,7 +1400,12 @@ class FederationHandler:
)
missing_events = await filter_events_for_server(
self._storage_controllers, origin, self.server_name, missing_events
self._storage_controllers,
origin,
self.server_name,
missing_events,
redact=True,
filter_out_erased_senders=True,
)
return missing_events
+3 -2
View File
@@ -576,8 +576,9 @@ async def filter_events_for_server(
target_server_name: str,
local_server_name: str,
events: Sequence[EventBase],
redact: bool = True,
filter_out_erased_senders: bool = True,
*,
redact: bool,
filter_out_erased_senders: bool,
) -> List[EventBase]:
"""Filter a list of events based on whether the target server is allowed to
see them.
+30 -5
View File
@@ -63,7 +63,12 @@ class FilterEventsForServerTestCase(unittest.HomeserverTestCase):
filtered = self.get_success(
filter_events_for_server(
self._storage_controllers, "test_server", "hs", events_to_filter
self._storage_controllers,
"test_server",
"hs",
events_to_filter,
redact=True,
filter_out_erased_senders=True,
)
)
@@ -85,7 +90,12 @@ class FilterEventsForServerTestCase(unittest.HomeserverTestCase):
self.assertEqual(
self.get_success(
filter_events_for_server(
self._storage_controllers, "remote_hs", "hs", [outlier]
self._storage_controllers,
"remote_hs",
"hs",
[outlier],
redact=True,
filter_out_erased_senders=True,
)
),
[outlier],
@@ -96,7 +106,12 @@ class FilterEventsForServerTestCase(unittest.HomeserverTestCase):
filtered = self.get_success(
filter_events_for_server(
self._storage_controllers, "remote_hs", "local_hs", [outlier, evt]
self._storage_controllers,
"remote_hs",
"local_hs",
[outlier, evt],
redact=True,
filter_out_erased_senders=True,
)
)
self.assertEqual(len(filtered), 2, f"expected 2 results, got: {filtered}")
@@ -108,7 +123,12 @@ class FilterEventsForServerTestCase(unittest.HomeserverTestCase):
# be redacted)
filtered = self.get_success(
filter_events_for_server(
self._storage_controllers, "other_server", "local_hs", [outlier, evt]
self._storage_controllers,
"other_server",
"local_hs",
[outlier, evt],
redact=True,
filter_out_erased_senders=True,
)
)
self.assertEqual(filtered[0], outlier)
@@ -143,7 +163,12 @@ class FilterEventsForServerTestCase(unittest.HomeserverTestCase):
# ... and the filtering happens.
filtered = self.get_success(
filter_events_for_server(
self._storage_controllers, "test_server", "local_hs", events_to_filter
self._storage_controllers,
"test_server",
"local_hs",
events_to_filter,
redact=True,
filter_out_erased_senders=True,
)
)