From e2c5d138533a7344973cc96f7eb7ed774a9265bb Mon Sep 17 00:00:00 2001 From: Nikhil Date: Wed, 18 Apr 2018 01:47:43 +0530 Subject: [PATCH] handles emoji unicodes while checking message size --- packages/rocketchat-lib/server/methods/sendMessage.js | 6 +++++- packages/rocketchat-ui/client/lib/chatMessages.js | 7 +++++-- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/packages/rocketchat-lib/server/methods/sendMessage.js b/packages/rocketchat-lib/server/methods/sendMessage.js index 8a7ab28a636c..7aa4804c4076 100644 --- a/packages/rocketchat-lib/server/methods/sendMessage.js +++ b/packages/rocketchat-lib/server/methods/sendMessage.js @@ -1,3 +1,4 @@ +/* globals emojione */ import moment from 'moment'; Meteor.methods({ @@ -26,7 +27,10 @@ Meteor.methods({ } if (message.msg) { - const adjustedMessage = message.msg.replace(/:\w+:/gm, (match) => { + // converting emoji unicodes to shortnames if present + let adjustedMessage = emojione.toShort(message.msg); + + adjustedMessage = adjustedMessage.replace(/:\w+:/gm, (match) => { if (RocketChat.emoji.list[match] !== undefined) { return ' '; } diff --git a/packages/rocketchat-ui/client/lib/chatMessages.js b/packages/rocketchat-ui/client/lib/chatMessages.js index 265fffa49bb1..f180cb826d07 100644 --- a/packages/rocketchat-ui/client/lib/chatMessages.js +++ b/packages/rocketchat-ui/client/lib/chatMessages.js @@ -1,4 +1,4 @@ -/* globals MsgTyping */ +/* globals MsgTyping, emojione */ import s from 'underscore.string'; import moment from 'moment'; import toastr from 'toastr'; @@ -541,7 +541,10 @@ this.ChatMessages = class ChatMessages { } isMessageTooLong(message) { - const adjustedMessage = message.replace(/:\w+:/gm, (match) => { + // converting emoji unicodes to shortnames if present + let adjustedMessage = emojione.toShort(message); + + adjustedMessage = adjustedMessage.replace(/:\w+:/gm, (match) => { if (RocketChat.emoji.list[match] !== undefined) { return ' '; }