From c318e6e42e2903af90be205760a5a2ba00e378b8 Mon Sep 17 00:00:00 2001 From: Misty De Meo Date: Wed, 4 Jan 2017 22:23:02 -0800 Subject: [PATCH 1/2] Display native emoji on browsers which support it --- app/assets/javascripts/components/emoji.jsx | 11 ++++++++++- package.json | 1 + yarn.lock | 8 ++++++-- 3 files changed, 17 insertions(+), 3 deletions(-) diff --git a/app/assets/javascripts/components/emoji.jsx b/app/assets/javascripts/components/emoji.jsx index c93c07c74b2..82b82b7196c 100644 --- a/app/assets/javascripts/components/emoji.jsx +++ b/app/assets/javascripts/components/emoji.jsx @@ -1,9 +1,18 @@ import emojione from 'emojione'; +import detectVersion from 'mojibaka'; emojione.imageType = 'png'; emojione.sprites = false; emojione.imagePathPNG = '/emoji/'; +let emoji_version = detectVersion(); + export default function emojify(text) { - return emojione.toImage(text); + // Browser too old to support native emoji + if (emoji_version < 6.1) { + return emojione.toImage(text); + // Convert short codes into native emoji + } else { + return emojione.shortnameToUnicode(text); + } }; diff --git a/package.json b/package.json index 05663a729ef..13b0484eccc 100644 --- a/package.json +++ b/package.json @@ -26,6 +26,7 @@ "intl": "^1.2.5", "jsdom": "^9.6.0", "mocha": "^3.1.1", + "mojibaka": "^0.0.1", "node-sass": "^4.0.0", "react": "^15.3.2", "react-addons-perf": "^15.3.2", diff --git a/yarn.lock b/yarn.lock index f71a8ae104d..b79c4689835 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2368,7 +2368,7 @@ glob-parent@^2.0.0: dependencies: is-glob "^2.0.0" -glob@7.0.5, glob@^7.0.0, glob@^7.0.3, glob@^7.0.5: +glob@7.0.5, glob@^7.0.0, glob@^7.0.3: version "7.0.5" resolved "https://registry.yarnpkg.com/glob/-/glob-7.0.5.tgz#b4202a69099bbb4d292a7c1b95b6682b67ebdc95" dependencies: @@ -2389,7 +2389,7 @@ glob@^5.0.15: once "^1.3.0" path-is-absolute "^1.0.0" -glob@~7.1.1: +glob@^7.0.5, glob@~7.1.1: version "7.1.1" resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.1.tgz#805211df04faaf1c63a3600306cdf5ade50b2ec8" dependencies: @@ -3392,6 +3392,10 @@ module-deps@^4.0.2: through2 "^2.0.0" xtend "^4.0.0" +mojibaka@^0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/mojibaka/-/mojibaka-0.0.1.tgz#54b0690d9149bbdf97f13b909f2417c53b8d52e5" + ms@0.7.1: version "0.7.1" resolved "https://registry.yarnpkg.com/ms/-/ms-0.7.1.tgz#9cd13c03adbff25b65effde7ce864ee952017098" From 53b765f4b150d7671d697eed7333c948622045cf Mon Sep 17 00:00:00 2001 From: Misty De Meo Date: Wed, 4 Jan 2017 22:47:51 -0800 Subject: [PATCH 2/2] Bump emoji requirement to Unicode 9 --- app/assets/javascripts/components/emoji.jsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/assets/javascripts/components/emoji.jsx b/app/assets/javascripts/components/emoji.jsx index 82b82b7196c..990aea5be51 100644 --- a/app/assets/javascripts/components/emoji.jsx +++ b/app/assets/javascripts/components/emoji.jsx @@ -9,7 +9,7 @@ let emoji_version = detectVersion(); export default function emojify(text) { // Browser too old to support native emoji - if (emoji_version < 6.1) { + if (emoji_version < 9.0) { return emojione.toImage(text); // Convert short codes into native emoji } else {