diff options
author | David Baker <dbkr@users.noreply.github.com> | 2016-01-21 10:09:11 +0000 |
---|---|---|
committer | David Baker <dbkr@users.noreply.github.com> | 2016-01-21 10:09:11 +0000 |
commit | c1a30217713272c9a570cf8bed45ac0d9d7f72d8 (patch) | |
tree | 52f60ce82546acdc7b775efcdfc0728ff96a41fd /synapse/push/httppusher.py | |
parent | Merge pull request #513 from matrix-org/erikj/register_user_chars (diff) | |
parent | peppate (diff) | |
download | synapse-c1a30217713272c9a570cf8bed45ac0d9d7f72d8.tar.xz |
Merge pull request #507 from matrix-org/push_badge_counts
Push badge counts
Diffstat (limited to 'synapse/push/httppusher.py')
-rw-r--r-- | synapse/push/httppusher.py | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/synapse/push/httppusher.py b/synapse/push/httppusher.py index 28f1fab0e4..cdc4494928 100644 --- a/synapse/push/httppusher.py +++ b/synapse/push/httppusher.py @@ -51,7 +51,7 @@ class HttpPusher(Pusher): del self.data_minus_url['url'] @defer.inlineCallbacks - def _build_notification_dict(self, event, tweaks): + def _build_notification_dict(self, event, tweaks, badge): # we probably do not want to push for every presence update # (we may want to be able to set up notifications when specific # people sign in, but we'd want to only deliver the pertinent ones) @@ -71,7 +71,7 @@ class HttpPusher(Pusher): 'counts': { # -- we don't mark messages as read yet so # we have no way of knowing # Just set the badge to 1 until we have read receipts - 'unread': 1, + 'unread': badge, # 'missed_calls': 2 }, 'devices': [ @@ -101,8 +101,8 @@ class HttpPusher(Pusher): defer.returnValue(d) @defer.inlineCallbacks - def dispatch_push(self, event, tweaks): - notification_dict = yield self._build_notification_dict(event, tweaks) + def dispatch_push(self, event, tweaks, badge): + notification_dict = yield self._build_notification_dict(event, tweaks, badge) if not notification_dict: defer.returnValue([]) try: @@ -116,15 +116,15 @@ class HttpPusher(Pusher): defer.returnValue(rejected) @defer.inlineCallbacks - def reset_badge_count(self): + def send_badge(self, badge): + logger.info("Sending updated badge count %d to %r", badge, self.user_id) d = { 'notification': { 'id': '', 'type': None, 'sender': '', 'counts': { - 'unread': 0, - 'missed_calls': 0 + 'unread': badge }, 'devices': [ { |