summary refs log tree commit diff
path: root/synapse/handlers
diff options
context:
space:
mode:
authorMathieu Velten <mathieuv@matrix.org>2023-06-02 15:13:50 +0200
committerGitHub <noreply@github.com>2023-06-02 13:13:50 +0000
commite0f2429d137c74059f5b7f151297e28dbfd82d48 (patch)
tree9469b4b33035123189b169479c653c32e13739f0 /synapse/handlers
parentLog when events are (unexpectedly) filtered out of responses in tests (#14213) (diff)
downloadsynapse-e0f2429d137c74059f5b7f151297e28dbfd82d48.tar.xz
Add a catch-all * to the supported relation types when redacting (#15705)
This is an update to MSC3912 implementation
Diffstat (limited to 'synapse/handlers')
-rw-r--r--synapse/handlers/relations.py16
1 files changed, 11 insertions, 5 deletions
diff --git a/synapse/handlers/relations.py b/synapse/handlers/relations.py
index 4824635162..db97f7aede 100644
--- a/synapse/handlers/relations.py
+++ b/synapse/handlers/relations.py
@@ -205,16 +205,22 @@ class RelationsHandler:
             event_id: The event IDs to look and redact relations of.
             initial_redaction_event: The redaction for the event referred to by
                 event_id.
-            relation_types: The types of relations to look for.
+            relation_types: The types of relations to look for. If "*" is in the list,
+                all related events will be redacted regardless of the type.
 
         Raises:
             ShadowBanError if the requester is shadow-banned
         """
-        related_event_ids = (
-            await self._main_store.get_all_relations_for_event_with_types(
-                event_id, relation_types
+        if "*" in relation_types:
+            related_event_ids = await self._main_store.get_all_relations_for_event(
+                event_id
+            )
+        else:
+            related_event_ids = (
+                await self._main_store.get_all_relations_for_event_with_types(
+                    event_id, relation_types
+                )
             )
-        )
 
         for related_event_id in related_event_ids:
             try: