diff --git a/clientapp/models/muc.js b/clientapp/models/muc.js index 3ab0793..f63cc74 100644 --- a/clientapp/models/muc.js +++ b/clientapp/models/muc.js @@ -101,10 +101,15 @@ module.exports = HumanModel.define({ addMessage: function (message, notify) { message.owner = me.jid.bare; + var self = this; + var mentions = []; + var toMe = false; this.resources.forEach(function (resource) { if (message.body.toLowerCase().indexOf('@' + resource.mucDisplayName) >= 0) { mentions.push('@' + resource.mucDisplayName); + if (resource.mucDisplayName === self.nick) + toMe = true; } }); if (message.body.toLowerCase().indexOf('@all') >= 0) { @@ -120,7 +125,7 @@ module.exports = HumanModel.define({ if (notify && (!this.activeContact || (this.activeContact && !app.state.focused)) && !mine) { this.unreadCount++; - if (message.mentions.length) { + if (toMe) { app.notifications.create(this.displayName, { body: message.body, icon: this.avatar, diff --git a/clientapp/pages/chat.js b/clientapp/pages/chat.js index 746c87b..413aea1 100644 --- a/clientapp/pages/chat.js +++ b/clientapp/pages/chat.js @@ -210,7 +210,7 @@ module.exports = BasePage.extend({ this.model.lastSentMessage.correct(message); } else { var msgModel = new MessageModel(message); - this.model.addMessage(msgModel); + this.model.addMessage(msgModel, false); this.model.lastSentMessage = msgModel; } } diff --git a/clientapp/pages/groupchat.js b/clientapp/pages/groupchat.js index 57080f0..803988a 100644 --- a/clientapp/pages/groupchat.js +++ b/clientapp/pages/groupchat.js @@ -307,7 +307,7 @@ module.exports = BasePage.extend({ this.model.lastSentMessage.correct(message); } else { var msgModel = new MessageModel(message); - this.model.addMessage(msgModel); + this.model.addMessage(msgModel, false); this.model.lastSentMessage = msgModel; } }