logo

pleroma

My custom branche(s) on git.pleroma.social/pleroma/pleroma git clone https://hacktivis.me/git/pleroma.git
commit: 8fb259e7395d4dd2bdac407b7eca0840ce490a99
parent 3b3cf63118b12e7dc57b65225ea96510d9ce48ab
Author: lain <lain@soykaf.club>
Date:   Wed,  2 Dec 2020 16:46:19 +0100

Emoji: Only accept RGI emoji.

"recommended for general interchange"

Diffstat:

Mlib/pleroma/emoji.ex5++++-
Mtest/pleroma/emoji_test.exs6+++++-
2 files changed, 9 insertions(+), 2 deletions(-)

diff --git a/lib/pleroma/emoji.ex b/lib/pleroma/emoji.ex @@ -108,7 +108,10 @@ defmodule Pleroma.Emoji do @external_resource |> File.read!() |> String.split("\n") - |> Enum.filter(fn line -> line != "" and not String.starts_with?(line, "#") end) + |> Enum.filter(fn line -> + line != "" and not String.starts_with?(line, "#") and + String.contains?(line, "fully-qualified") + end) |> Enum.map(fn line -> line |> String.split(";", parts: 2) diff --git a/test/pleroma/emoji_test.exs b/test/pleroma/emoji_test.exs @@ -11,7 +11,11 @@ defmodule Pleroma.EmojiTest do refute Emoji.is_unicode_emoji?("X") refute Emoji.is_unicode_emoji?("ね") - assert Emoji.is_unicode_emoji?("☂") + # Only accept fully-qualified (RGI) emoji + # See http://www.unicode.org/reports/tr51/ + refute Emoji.is_unicode_emoji?("❤") + refute Emoji.is_unicode_emoji?("☂") + assert Emoji.is_unicode_emoji?("🥺") assert Emoji.is_unicode_emoji?("🤰") assert Emoji.is_unicode_emoji?("❤️")