diff options
author | Brendan Abolivier <babolivier@matrix.org> | 2020-06-17 10:58:32 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-06-17 10:58:32 +0100 |
commit | 46613aaf794e11a23e22bcf325ff8b3c41e482f2 (patch) | |
tree | 88acf7730dfe96881809fc5985174ab1790aa596 /synapse/push | |
parent | fix broken link in sample config (#7712) (diff) | |
parent | Merge branch 'develop' into babolivier/mark_unread (diff) | |
download | synapse-46613aaf794e11a23e22bcf325ff8b3c41e482f2.tar.xz |
Implement unread counter (MSC2625) (#7673)
Implementation of https://github.com/matrix-org/matrix-doc/pull/2625
Diffstat (limited to 'synapse/push')
-rw-r--r-- | synapse/push/bulk_push_rule_evaluator.py | 7 | ||||
-rw-r--r-- | synapse/push/push_tools.py | 5 |
2 files changed, 9 insertions, 3 deletions
diff --git a/synapse/push/bulk_push_rule_evaluator.py b/synapse/push/bulk_push_rule_evaluator.py index 43ffe6faf0..5b00602a56 100644 --- a/synapse/push/bulk_push_rule_evaluator.py +++ b/synapse/push/bulk_push_rule_evaluator.py @@ -189,8 +189,11 @@ class BulkPushRuleEvaluator(object): ) if matches: actions = [x for x in rule["actions"] if x != "dont_notify"] - if actions and "notify" in actions: - # Push rules say we should notify the user of this event + if ( + "notify" in actions + or "org.matrix.msc2625.mark_unread" in actions + ): + # Push rules say we should act on this event. actions_by_user[uid] = actions break diff --git a/synapse/push/push_tools.py b/synapse/push/push_tools.py index 5dae4648c0..9f264ca4a4 100644 --- a/synapse/push/push_tools.py +++ b/synapse/push/push_tools.py @@ -39,7 +39,10 @@ def get_badge_count(store, user_id): ) # return one badge count per conversation, as count per # message is so noisy as to be almost useless - badge += 1 if notifs["notify_count"] else 0 + # 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 return badge |