diff options
author | Brendan Abolivier <babolivier@matrix.org> | 2020-06-17 15:44:15 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-06-17 15:44:15 +0100 |
commit | e35d44c01d4c166f573a4d8d978586d3785e5e77 (patch) | |
tree | df037362238c6a1dd84553430a21928cd166c3d1 | |
parent | Convert the typing handler to async/await. (#7679) (diff) | |
parent | Fix unread counts in sync (diff) | |
download | synapse-e35d44c01d4c166f573a4d8d978586d3785e5e77.tar.xz |
Merge pull request #7716 from matrix-org/babolivier/unread_fix
Fix unread counts in sync
-rw-r--r-- | changelog.d/7716.feature | 1 | ||||
-rw-r--r-- | synapse/push/push_tools.py | 2 | ||||
-rw-r--r-- | synapse/storage/data_stores/main/event_push_actions.py | 2 |
3 files changed, 3 insertions, 2 deletions
diff --git a/changelog.d/7716.feature b/changelog.d/7716.feature new file mode 100644 index 0000000000..ecc3ffd8d5 --- /dev/null +++ b/changelog.d/7716.feature @@ -0,0 +1 @@ +Add a per-room counter for unread messages in responses to `/sync` requests. Implements [MSC2625](https://github.com/matrix-org/matrix-doc/pull/2625). diff --git a/synapse/push/push_tools.py b/synapse/push/push_tools.py index 9f264ca4a4..4ea683fee0 100644 --- a/synapse/push/push_tools.py +++ b/synapse/push/push_tools.py @@ -42,7 +42,7 @@ def get_badge_count(store, user_id): # We're populating this badge using the unread_count (instead of the # notify_count) as this badge is the number of missed messages, not the # number of missed notifications. - badge += 1 if notifs["unread_count"] else 0 + badge += 1 if notifs.get("unread_count") else 0 return badge diff --git a/synapse/storage/data_stores/main/event_push_actions.py b/synapse/storage/data_stores/main/event_push_actions.py index ba1b33a0a9..815d52ab4c 100644 --- a/synapse/storage/data_stores/main/event_push_actions.py +++ b/synapse/storage/data_stores/main/event_push_actions.py @@ -123,7 +123,7 @@ class EventPushActionsWorkerStore(SQLBaseStore): txn.execute(sql, (room_id, last_read_event_id)) results = txn.fetchall() if len(results) == 0: - return {"notify_count": 0, "highlight_count": 0} + return {"notify_count": 0, "highlight_count": 0, "unread_count": 0} stream_ordering = results[0][0] |