fix quoting of custom emoji
authorFloatingGhost <hannah@coffee-and-dreams.uk>
Sat, 11 Jun 2022 13:08:13 +0000 (14:08 +0100)
committerFloatingGhost <hannah@coffee-and-dreams.uk>
Sat, 11 Jun 2022 13:08:13 +0000 (14:08 +0100)
Fixes #3

lib/pleroma/emoji.ex
lib/pleroma/web/activity_pub/utils.ex

index a52df0de3952404a5be3f69cd7a12099d4cb5af8..a3e7e5353276d0a36d2aa75d7eb5f81cbf95db2c 100644 (file)
@@ -146,4 +146,23 @@ defmodule Pleroma.Emoji do
   end
 
   def is_unicode_emoji?(_), do: false
+
+  def stripped_name(name) when is_binary(name) do
+    name
+    |> String.replace_leading(":", "")
+    |> String.replace_trailing(":", "")
+  end
+
+  def stripped_name(name), do: name
+
+  def maybe_quote(name) when is_binary(name) do
+    if is_unicode_emoji?(name) do
+      name
+    else
+      ":#{name}:"
+    end
+  end
+
+  def maybe_quote(name), do: name
+    
 end
index 37f7a9173254cb4ed30c6ab25613680e3eea0e90..637db384042347fdfcb10e8319636a4611c7e896 100644 (file)
@@ -543,14 +543,10 @@ defmodule Pleroma.Web.ActivityPub.Utils do
   end
 
   def get_latest_reaction(internal_activity_id, %{ap_id: ap_id}, emoji) do
+    IO.inspect(emoji)
     %{data: %{"object" => object_ap_id}} = Activity.get_by_id(internal_activity_id)
 
-    emoji =
-      if String.starts_with?(emoji, ":") do
-        emoji
-      else
-        ":#{emoji}:"
-      end
+    emoji = Pleroma.Emoji.maybe_quote(emoji)
 
     "EmojiReact"
     |> Activity.Queries.by_type()