diff options
author | David Baker <dave@matrix.org> | 2015-01-15 16:56:18 +0000 |
---|---|---|
committer | David Baker <dave@matrix.org> | 2015-01-15 16:56:18 +0000 |
commit | 2ca2dbc82183f7dbe8c01694bf1c32a8c4c4b9de (patch) | |
tree | 52cb35fcc73f76fe727cf62cb69c81d2f7b24734 /synapse/push/httppusher.py | |
parent | Don't make the pushers' event streams cause people to appear online (diff) | |
download | synapse-2ca2dbc82183f7dbe8c01694bf1c32a8c4c4b9de.tar.xz |
Send room name and first alias in notification poke.
Diffstat (limited to 'synapse/push/httppusher.py')
-rw-r--r-- | synapse/push/httppusher.py | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/synapse/push/httppusher.py b/synapse/push/httppusher.py index bcfa06e2ab..7631a741fa 100644 --- a/synapse/push/httppusher.py +++ b/synapse/push/httppusher.py @@ -50,6 +50,7 @@ class HttpPusher(Pusher): self.data_minus_url.update(self.data) del self.data_minus_url['url'] + @defer.inlineCallbacks def _build_notification_dict(self, event): # we probably do not want to push for every presence update # (we may want to be able to set up notifications when specific @@ -57,9 +58,11 @@ class HttpPusher(Pusher): # Actually, presence events will not get this far now because we # need to filter them out in the main Pusher code. if 'event_id' not in event: - return None + defer.returnValue(None) + + ctx = yield self.get_context_for_event(event) - return { + d = { 'notification': { 'transition': 'new', # everything is new for now: we don't have read receipts @@ -85,9 +88,16 @@ class HttpPusher(Pusher): } } + if len(ctx['aliases']): + d['notification']['roomAlias'] = ctx['aliases'][0] + if 'name' in ctx: + d['notification']['roomName'] = ctx['name'] + + defer.returnValue(d) + @defer.inlineCallbacks def dispatch_push(self, event): - notification_dict = self._build_notification_dict(event) + notification_dict = yield self._build_notification_dict(event) if not notification_dict: defer.returnValue([]) try: |