Thanks you rinpatch, very cool
authorrinpatch <rinpatch@sdf.org>
Wed, 16 Jan 2019 07:35:06 +0000 (10:35 +0300)
committerrinpatch <rinpatch@sdf.org>
Wed, 16 Jan 2019 07:35:06 +0000 (10:35 +0300)
lib/pleroma/web/metadata.ex

index 8903671527067c59de3b31c849940a70e4b97740..bc0f3beed268802128f345e1120acd10716ecb6b 100644 (file)
@@ -2,10 +2,17 @@ defmodule Pleroma.Web.Metadata do
   alias Phoenix.HTML
 
   @parsers Pleroma.Config.get([:metadata, :providers], [])
+  def get_cached_tags(%{activity: activity, user: user} = params) do
+    # We don't need to use the both activity and a user since the object can't change it's content
+    key = "#{:erlang.term_to_binary(user)}#{activity.data["id"]}"
+
+    Cachex.fetch!(:metadata_cache, key, fn _key ->
+      {:commit, build_tags(params)}
+    end)
+  end
 
   def get_cached_tags(%{user: user} = params) do
     # I am unsure how well ETS works with big keys
-    # We don't need to use the both activity and a user since the object can't change it's content
     key = :erlang.term_to_binary(user)
 
     Cachex.fetch!(:metadata_cache, key, fn _key ->