diff options
author | Patrick Cloke <clokep@users.noreply.github.com> | 2022-05-26 07:09:16 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-05-26 07:09:16 -0400 |
commit | b5707ceabad79267928b1f5e0bff582b09488847 (patch) | |
tree | a306bd0822fb6a96a5473eeabcfb91096850361d /synapse/storage/databases/main | |
parent | Pull out less state when handling gaps mk2 (#12852) (diff) | |
download | synapse-b5707ceabad79267928b1f5e0bff582b09488847.tar.xz |
Avoid attempting to delete push actions for remote users. (#12879)
Remote users will never have push actions, so we can avoid a database round-trip/transaction completely.
Diffstat (limited to 'synapse/storage/databases/main')
-rw-r--r-- | synapse/storage/databases/main/event_push_actions.py | 2 | ||||
-rw-r--r-- | synapse/storage/databases/main/receipts.py | 5 |
2 files changed, 5 insertions, 2 deletions
diff --git a/synapse/storage/databases/main/event_push_actions.py b/synapse/storage/databases/main/event_push_actions.py index b7c4c62222..b019979350 100644 --- a/synapse/storage/databases/main/event_push_actions.py +++ b/synapse/storage/databases/main/event_push_actions.py @@ -938,7 +938,7 @@ class EventPushActionsWorkerStore(SQLBaseStore): users can still get a list of recent highlights. Args: - txn: The transcation + txn: The transaction room_id: Room ID to delete from user_id: user ID to delete for stream_ordering: The lowest stream ordering which will diff --git a/synapse/storage/databases/main/receipts.py b/synapse/storage/databases/main/receipts.py index d035969a31..cfa4d4924d 100644 --- a/synapse/storage/databases/main/receipts.py +++ b/synapse/storage/databases/main/receipts.py @@ -673,8 +673,11 @@ class ReceiptsWorkerStore(SQLBaseStore): lock=False, ) + # When updating a local users read receipt, remove any push actions + # which resulted from the receipt's event and all earlier events. if ( - receipt_type in (ReceiptTypes.READ, ReceiptTypes.READ_PRIVATE) + self.hs.is_mine_id(user_id) + and receipt_type in (ReceiptTypes.READ, ReceiptTypes.READ_PRIVATE) and stream_ordering is not None ): self._remove_old_push_actions_before_txn( # type: ignore[attr-defined] |