diff options
author | Erik Johnston <erik@matrix.org> | 2022-07-08 14:00:29 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-07-08 14:00:29 +0100 |
commit | 757bc0caefa596e747278b3bcf4269ec50ffc759 (patch) | |
tree | cc4a772fd494051959a8aff81a27af282da02439 /synapse/storage | |
parent | Fix exception when using MSC3030 to look for remote federated events before r... (diff) | |
download | synapse-757bc0caefa596e747278b3bcf4269ec50ffc759.tar.xz |
Fix notification count after a highlighted message (#13223)
Fixes #13196 Broke by #13005
Diffstat (limited to 'synapse/storage')
-rw-r--r-- | synapse/storage/databases/main/event_push_actions.py | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/synapse/storage/databases/main/event_push_actions.py b/synapse/storage/databases/main/event_push_actions.py index a3edcbb398..1a951ac02a 100644 --- a/synapse/storage/databases/main/event_push_actions.py +++ b/synapse/storage/databases/main/event_push_actions.py @@ -1016,9 +1016,14 @@ class EventPushActionsWorkerStore(ReceiptsWorkerStore, StreamWorkerStore, SQLBas upd.stream_ordering FROM ( SELECT user_id, room_id, count(*) as cnt, - max(stream_ordering) as stream_ordering - FROM event_push_actions - WHERE ? < stream_ordering AND stream_ordering <= ? + max(ea.stream_ordering) as stream_ordering + FROM event_push_actions AS ea + LEFT JOIN event_push_summary AS old USING (user_id, room_id) + WHERE ? < ea.stream_ordering AND ea.stream_ordering <= ? + AND ( + old.last_receipt_stream_ordering IS NULL + OR old.last_receipt_stream_ordering < ea.stream_ordering + ) AND %s = 1 GROUP BY user_id, room_id ) AS upd |