Provide local og:url for remote activities
[akkoma] / lib / pleroma / web / metadata / opengraph.ex
index 43303859c8261e40029d30ce452ceeab26648b5f..30333785ef05ec6b64c306526d96744ef9191909 100644 (file)
@@ -13,6 +13,7 @@ defmodule Pleroma.Web.Metadata.Providers.OpenGraph do
   @impl Provider
   def build_tags(%{
         object: object,
+        url: url,
         user: user
       }) do
     attachments = build_attachments(object)
@@ -37,7 +38,7 @@ defmodule Pleroma.Web.Metadata.Providers.OpenGraph do
          property: "og:title",
          content: "#{user.name}" <> content
        ], []},
-      {:meta, [property: "og:url", content: object.data["id"]], []},
+      {:meta, [property: "og:url", content: url], []},
       {:meta,
        [
          property: "og:description",
@@ -124,6 +125,7 @@ defmodule Pleroma.Web.Metadata.Providers.OpenGraph do
     |> HtmlEntities.decode()
     |> String.replace(~r/<br\s?\/?>/, " ")
     |> HTML.get_cached_stripped_html_for_object(object, __MODULE__)
+    |> Formatter.demojify()
     |> Formatter.truncate()
   end
 
@@ -133,6 +135,7 @@ defmodule Pleroma.Web.Metadata.Providers.OpenGraph do
     |> HtmlEntities.decode()
     |> String.replace(~r/<br\s?\/?>/, " ")
     |> HTML.strip_tags()
+    |> Formatter.demojify()
     |> Formatter.truncate()
   end