diff options
Diffstat (limited to 'synapse/push/push_tools.py')
-rw-r--r-- | synapse/push/push_tools.py | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/synapse/push/push_tools.py b/synapse/push/push_tools.py index 8397229ccb..a7029e1b75 100644 --- a/synapse/push/push_tools.py +++ b/synapse/push/push_tools.py @@ -39,7 +39,10 @@ async def get_badge_count(store: DataStore, user_id: str, group_by_room: bool) - room_id, user_id, last_unread_event_id ) ) - if notifs.notify_count == 0: + # Combine the counts from all the threads. + notify_count = sum(n.notify_count for n in notifs.values()) + + if notify_count == 0: continue if group_by_room: @@ -47,7 +50,7 @@ async def get_badge_count(store: DataStore, user_id: str, group_by_room: bool) - badge += 1 else: # increment the badge count by the number of unread messages in the room - badge += notifs.notify_count + badge += notify_count return badge |