Skip to content

Commit cd15dc0

Browse files
committedAug 15, 2015
Merge pull request #468 from RocketChat/better-push-notifications-2
Better push notifications 2
2 parents cd0b6f3 + 7b53652 commit cd15dc0

File tree

2 files changed

+21
-19
lines changed

2 files changed

+21
-19
lines changed
 

‎packages/rocketchat-lib/server/sendMessage.coffee

+20-18
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,6 @@ RocketChat.sendMessage = (user, message, room) ->
33
if not user or not message or not room._id
44
return false
55

6-
console.log '[functions] RocketChat.sendMessage -> '.green, 'arguments:', arguments
7-
86
unless message.ts?
97
message.ts = new Date()
108

@@ -78,8 +76,10 @@ RocketChat.sendMessage = (user, message, room) ->
7876
if userOfMention?
7977
Push.send
8078
from: 'push'
81-
title: userOfMention.username
82-
text: "#{userOfMention.username}: #{message.msg}"
79+
title: "@#{user.username}"
80+
text: message.msg
81+
apn:
82+
text: "@#{user.username}:\n#{message.msg}"
8383
badge: 1
8484
sound: 'chime'
8585
payload:
@@ -136,20 +136,22 @@ RocketChat.sendMessage = (user, message, room) ->
136136
query._id =
137137
$in: mentionIds
138138

139-
usersOfMention = Meteor.users.find(query, {fields: {username: 1}}).fetch()
140-
if usersOfMention.length > 0
141-
for userOfMention in usersOfMention
142-
Push.send
143-
from: 'push'
144-
title: userOfMention.username
145-
text: message.msg
146-
badge: 1
147-
sound: 'chime'
148-
payload:
149-
rid: message.rid
150-
sender: message.u
151-
query:
152-
userId: userOfMention._id
139+
usersOfMention = Meteor.users.find(query, {fields: {_id: 1}}).fetch()
140+
usersOfMentionIds = _.pluck(usersOfMention, '_id');
141+
if usersOfMentionIds.length > 0
142+
Push.send
143+
from: 'push'
144+
title: "##{room.name}"
145+
text: message.msg
146+
apn:
147+
text: "##{room.name}:\n#{message.msg}"
148+
badge: 1
149+
sound: 'chime'
150+
payload:
151+
rid: message.rid
152+
sender: message.u
153+
query:
154+
userId: $in: usersOfMentionIds
153155

154156
###
155157
Update all other subscriptions to alert their owners but witout incrementing

‎server/methods/canAccessRoom.coffee

+1-1
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,6 @@ Meteor.methods
2121
if canAccess isnt true
2222
return false
2323
else
24-
return _.pick room, ['_id', 't', 'name']
24+
return _.pick room, ['_id', 't', 'name', 'usernames']
2525
else
2626
throw new Meteor.Error 'invalid-room', '[methods] canAccessRoom -> Room ID is invalid'

0 commit comments

Comments
 (0)
Please sign in to comment.