diff options
author | Brendan Abolivier <babolivier@matrix.org> | 2020-09-08 15:26:06 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-09-08 15:26:06 +0100 |
commit | d4daff9b59bc2c837d60b132aaaea85d1c0f00b4 (patch) | |
tree | 2b25b045b62067a663bd7071f54e2a1118ac6085 | |
parent | fix typo (diff) | |
download | synapse-d4daff9b59bc2c837d60b132aaaea85d1c0f00b4.tar.xz |
Fix /notifications and pushers misbehaving because of unread counts (#8280)
-rw-r--r-- | changelog.d/8280.bugfix | 1 | ||||
-rw-r--r-- | synapse/storage/databases/main/event_push_actions.py | 5 |
2 files changed, 4 insertions, 2 deletions
diff --git a/changelog.d/8280.bugfix b/changelog.d/8280.bugfix new file mode 100644 index 0000000000..e306282438 --- /dev/null +++ b/changelog.d/8280.bugfix @@ -0,0 +1 @@ +Fix a bug introduced in v1.20.0rc1 causing some features related to notifications to misbehave following the implementation of unread counts. diff --git a/synapse/storage/databases/main/event_push_actions.py b/synapse/storage/databases/main/event_push_actions.py index 50fac9e72e..5233ed83e2 100644 --- a/synapse/storage/databases/main/event_push_actions.py +++ b/synapse/storage/databases/main/event_push_actions.py @@ -196,7 +196,7 @@ class EventPushActionsWorkerStore(SQLBaseStore): def f(txn): sql = ( "SELECT DISTINCT(user_id) FROM event_push_actions WHERE" - " stream_ordering >= ? AND stream_ordering <= ?" + " stream_ordering >= ? AND stream_ordering <= ? AND notif = 1" ) txn.execute(sql, (min_stream_ordering, max_stream_ordering)) return [r[0] for r in txn] @@ -644,7 +644,7 @@ class EventPushActionsWorkerStore(SQLBaseStore): "SELECT e.received_ts" " FROM event_push_actions AS ep" " JOIN events e ON ep.room_id = e.room_id AND ep.event_id = e.event_id" - " WHERE ep.stream_ordering > ?" + " WHERE ep.stream_ordering > ? AND notif = 1" " ORDER BY ep.stream_ordering ASC" " LIMIT 1" ) @@ -708,6 +708,7 @@ class EventPushActionsStore(EventPushActionsWorkerStore): " FROM event_push_actions epa, events e" " WHERE epa.event_id = e.event_id" " AND epa.user_id = ? %s" + " AND epa.notif = 1" " ORDER BY epa.stream_ordering DESC" " LIMIT ?" % (before_clause,) ) |