diff --git a/changelog.d/16954.bugfix b/changelog.d/16954.bugfix deleted file mode 100644 index 7e5ad6909..000000000 --- a/changelog.d/16954.bugfix +++ /dev/null @@ -1 +0,0 @@ -Fix a bug introduced in v1.100.0 where notifications from rooms you've left would continue to be counted. \ No newline at end of file diff --git a/synapse/storage/databases/main/event_push_actions.py b/synapse/storage/databases/main/event_push_actions.py index 56c549ae6..d7aa8a0ee 100644 --- a/synapse/storage/databases/main/event_push_actions.py +++ b/synapse/storage/databases/main/event_push_actions.py @@ -404,11 +404,7 @@ class EventPushActionsWorkerStore(ReceiptsWorkerStore, StreamWorkerStore, SQLBas SELECT e.room_id, notif_count, e.stream_ordering, e.thread_id, last_receipt_stream_ordering, ev.stream_ordering AS receipt_stream_ordering FROM event_push_summary AS e - INNER JOIN local_current_membership AS lcm ON ( - e.user_id = lcm.user_id - AND e.room_id = lcm.room_id - AND lcm.membership = 'join' - ) + INNER JOIN local_current_membership USING (user_id, room_id) LEFT JOIN receipts_linearized AS r ON ( e.user_id = r.user_id AND e.room_id = r.room_id @@ -476,11 +472,7 @@ class EventPushActionsWorkerStore(ReceiptsWorkerStore, StreamWorkerStore, SQLBas SELECT e.room_id, e.stream_ordering, e.thread_id, ev.stream_ordering AS receipt_stream_ordering FROM event_push_actions AS e - INNER JOIN local_current_membership AS lcm ON ( - e.user_id = lcm.user_id - AND e.room_id = lcm.room_id - AND lcm.membership = 'join' - ) + INNER JOIN local_current_membership USING (user_id, room_id) LEFT JOIN receipts_linearized AS r ON ( e.user_id = r.user_id AND e.room_id = r.room_id @@ -522,11 +514,7 @@ class EventPushActionsWorkerStore(ReceiptsWorkerStore, StreamWorkerStore, SQLBas SELECT e.room_id, e.stream_ordering, e.thread_id, ev.stream_ordering AS receipt_stream_ordering FROM event_push_actions AS e - INNER JOIN local_current_membership AS lcm ON ( - e.user_id = lcm.user_id - AND e.room_id = lcm.room_id - AND lcm.membership = 'join' - ) + INNER JOIN local_current_membership USING (user_id, room_id) LEFT JOIN receipts_linearized AS r ON ( e.user_id = r.user_id AND e.room_id = r.room_id