summary refs log tree commit diff
path: root/synapse/push/push_tools.py
diff options
context:
space:
mode:
Diffstat (limited to 'synapse/push/push_tools.py')
-rw-r--r--synapse/push/push_tools.py7
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