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

Properly update the threads table when thread events are redacted #14248

Merged
merged 11 commits into from
Oct 21, 2022
10 changes: 5 additions & 5 deletions synapse/storage/databases/main/events.py
Original file line number Diff line number Diff line change
Expand Up @@ -2040,9 +2040,13 @@ def _handle_redact_relations(
if row is None:
return

# Any relation information for the related event must be cleared.
redacted_relates_to = row["relates_to_id"]
rel_type = row["relation_type"]
self.db_pool.simple_delete_txn(
txn, table="event_relations", keyvalues={"event_id": redacted_event_id}
)

# Any relation information for the related event must be cleared.
self.store._invalidate_cache_and_stream(
txn, self.store.get_relations_for_event, (redacted_relates_to,)
)
Expand All @@ -2065,10 +2069,6 @@ def _handle_redact_relations(
txn, self.store.get_threads, (room_id,)
)

self.db_pool.simple_delete_txn(
txn, table="event_relations", keyvalues={"event_id": redacted_event_id}
)

DMRobertson marked this conversation as resolved.
Show resolved Hide resolved
def _store_room_topic_txn(self, txn: LoggingTransaction, event: EventBase) -> None:
if isinstance(event.content.get("topic"), str):
self.store_event_search_txn(
Expand Down