diff options
author | Richard van der Hoff <richard@matrix.org> | 2020-07-09 11:06:52 +0100 |
---|---|---|
committer | Richard van der Hoff <richard@matrix.org> | 2020-07-09 11:06:52 +0100 |
commit | cc86fbc9addc65b3fcaede370190bce5451f9aa1 (patch) | |
tree | 1fcb0e700a8be2202b85820fb990011ecd558897 /synapse/push/httppusher.py | |
parent | Merge branch 'release-v1.15.2' into matrix-org-hotfixes (diff) | |
parent | Generate real events when we reject invites (#7804) (diff) | |
download | synapse-cc86fbc9addc65b3fcaede370190bce5451f9aa1.tar.xz |
Merge branch 'develop' into matrix-org-hotfixes
Diffstat (limited to 'synapse/push/httppusher.py')
-rw-r--r-- | synapse/push/httppusher.py | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/synapse/push/httppusher.py b/synapse/push/httppusher.py index af7e365e90..3aeb46980d 100644 --- a/synapse/push/httppusher.py +++ b/synapse/push/httppusher.py @@ -20,6 +20,7 @@ from prometheus_client import Counter from twisted.internet import defer from twisted.internet.error import AlreadyCalled, AlreadyCancelled +from synapse.api.constants import EventTypes from synapse.logging import opentracing from synapse.metrics.background_process_metrics import run_as_background_process from synapse.push import PusherConfigException @@ -309,12 +310,23 @@ class HttpPusher(object): @defer.inlineCallbacks def _build_notification_dict(self, event, tweaks, badge): + priority = "low" + if ( + event.type == EventTypes.Encrypted + or tweaks.get("highlight") + or tweaks.get("sound") + ): + # HACK send our push as high priority only if it generates a sound, highlight + # or may do so (i.e. is encrypted so has unknown effects). + priority = "high" + if self.data.get("format") == "event_id_only": d = { "notification": { "event_id": event.event_id, "room_id": event.room_id, "counts": {"unread": badge}, + "prio": priority, "devices": [ { "app_id": self.app_id, @@ -338,9 +350,8 @@ class HttpPusher(object): "room_id": event.room_id, "type": event.type, "sender": event.user_id, - "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 + "prio": priority, + "counts": { "unread": badge, # 'missed_calls': 2 }, |