forked from AkkomaGang/akkoma
Remove Metadata.Utils.attachment_url/1
This was a wasteful shortcut to MediaProxy.preview_url/1 and we don't always want the preview_url in the metadata anyway.
This commit is contained in:
parent
9cb8960284
commit
19a49dd757
3 changed files with 19 additions and 14 deletions
|
@ -4,6 +4,7 @@
|
||||||
|
|
||||||
defmodule Pleroma.Web.Metadata.Providers.OpenGraph do
|
defmodule Pleroma.Web.Metadata.Providers.OpenGraph do
|
||||||
alias Pleroma.User
|
alias Pleroma.User
|
||||||
|
alias Pleroma.Web.MediaProxy
|
||||||
alias Pleroma.Web.Metadata
|
alias Pleroma.Web.Metadata
|
||||||
alias Pleroma.Web.Metadata.Providers.Provider
|
alias Pleroma.Web.Metadata.Providers.Provider
|
||||||
alias Pleroma.Web.Metadata.Utils
|
alias Pleroma.Web.Metadata.Utils
|
||||||
|
@ -36,8 +37,7 @@ def build_tags(%{
|
||||||
] ++
|
] ++
|
||||||
if attachments == [] or Metadata.activity_nsfw?(object) do
|
if attachments == [] or Metadata.activity_nsfw?(object) do
|
||||||
[
|
[
|
||||||
{:meta, [property: "og:image", content: Utils.attachment_url(User.avatar_url(user))],
|
{:meta, [property: "og:image", content: MediaProxy.preview_url(User.avatar_url(user))], []},
|
||||||
[]},
|
|
||||||
{:meta, [property: "og:image:width", content: 150], []},
|
{:meta, [property: "og:image:width", content: 150], []},
|
||||||
{:meta, [property: "og:image:height", content: 150], []}
|
{:meta, [property: "og:image:height", content: 150], []}
|
||||||
]
|
]
|
||||||
|
@ -58,7 +58,7 @@ def build_tags(%{user: user}) do
|
||||||
{:meta, [property: "og:url", content: user.uri || user.ap_id], []},
|
{:meta, [property: "og:url", content: user.uri || user.ap_id], []},
|
||||||
{:meta, [property: "og:description", content: truncated_bio], []},
|
{:meta, [property: "og:description", content: truncated_bio], []},
|
||||||
{:meta, [property: "og:type", content: "article"], []},
|
{:meta, [property: "og:type", content: "article"], []},
|
||||||
{:meta, [property: "og:image", content: Utils.attachment_url(User.avatar_url(user))], []},
|
{:meta, [property: "og:image", content: MediaProxy.preview_url(User.avatar_url(user))], []},
|
||||||
{:meta, [property: "og:image:width", content: 150], []},
|
{:meta, [property: "og:image:width", content: 150], []},
|
||||||
{:meta, [property: "og:image:height", content: 150], []}
|
{:meta, [property: "og:image:height", content: 150], []}
|
||||||
]
|
]
|
||||||
|
@ -74,13 +74,17 @@ defp build_attachments(%{data: %{"attachment" => attachments}}) do
|
||||||
case Utils.fetch_media_type(@media_types, url["mediaType"]) do
|
case Utils.fetch_media_type(@media_types, url["mediaType"]) do
|
||||||
"audio" ->
|
"audio" ->
|
||||||
[
|
[
|
||||||
{:meta, [property: "og:audio", content: Utils.attachment_url(url["href"])], []}
|
{:meta, [property: "og:audio", content: MediaProxy.url(url["href"])], []}
|
||||||
| acc
|
| acc
|
||||||
]
|
]
|
||||||
|
|
||||||
|
# Not using preview_url for this. It saves bandwidth, but the image dimensions will be wrong.
|
||||||
|
# We generate it on the fly and have no way to capture or analyze the image to get the dimensions.
|
||||||
|
# This can be an issue for apps/FEs rendering images in timelines too, but you can get clever with
|
||||||
|
# the aspect ratio metadata as a workaround.
|
||||||
"image" ->
|
"image" ->
|
||||||
[
|
[
|
||||||
{:meta, [property: "og:image", content: Utils.attachment_url(url["href"])], []},
|
{:meta, [property: "og:image", content: MediaProxy.url(url["href"])], []},
|
||||||
{:meta, [property: "og:image:alt", content: attachment["name"]], []}
|
{:meta, [property: "og:image:alt", content: attachment["name"]], []}
|
||||||
| acc
|
| acc
|
||||||
]
|
]
|
||||||
|
@ -88,7 +92,7 @@ defp build_attachments(%{data: %{"attachment" => attachments}}) do
|
||||||
|
|
||||||
"video" ->
|
"video" ->
|
||||||
[
|
[
|
||||||
{:meta, [property: "og:video", content: Utils.attachment_url(url["href"])], []}
|
{:meta, [property: "og:video", content: MediaProxy.url(url["href"])], []}
|
||||||
| acc
|
| acc
|
||||||
]
|
]
|
||||||
|> maybe_add_dimensions(url)
|
|> maybe_add_dimensions(url)
|
||||||
|
|
|
@ -5,6 +5,7 @@
|
||||||
|
|
||||||
defmodule Pleroma.Web.Metadata.Providers.TwitterCard do
|
defmodule Pleroma.Web.Metadata.Providers.TwitterCard do
|
||||||
alias Pleroma.User
|
alias Pleroma.User
|
||||||
|
alias Pleroma.Web.MediaProxy
|
||||||
alias Pleroma.Web.Metadata
|
alias Pleroma.Web.Metadata
|
||||||
alias Pleroma.Web.Metadata.Providers.Provider
|
alias Pleroma.Web.Metadata.Providers.Provider
|
||||||
alias Pleroma.Web.Metadata.Utils
|
alias Pleroma.Web.Metadata.Utils
|
||||||
|
@ -48,7 +49,8 @@ defp title_tag(user) do
|
||||||
end
|
end
|
||||||
|
|
||||||
def image_tag(user) do
|
def image_tag(user) do
|
||||||
{:meta, [property: "twitter:image", content: Utils.attachment_url(User.avatar_url(user))], []}
|
{:meta, [property: "twitter:image", content: MediaProxy.preview_url(User.avatar_url(user))],
|
||||||
|
[]}
|
||||||
end
|
end
|
||||||
|
|
||||||
defp build_attachments(id, %{data: %{"attachment" => attachments}}) do
|
defp build_attachments(id, %{data: %{"attachment" => attachments}}) do
|
||||||
|
@ -65,13 +67,17 @@ defp build_attachments(id, %{data: %{"attachment" => attachments}}) do
|
||||||
| acc
|
| acc
|
||||||
]
|
]
|
||||||
|
|
||||||
|
# Not using preview_url for this. It saves bandwidth, but the image dimensions will be wrong.
|
||||||
|
# We generate it on the fly and have no way to capture or analyze the image to get the dimensions.
|
||||||
|
# This can be an issue for apps/FEs rendering images in timelines too, but you can get clever with
|
||||||
|
# the aspect ratio metadata as a workaround.
|
||||||
"image" ->
|
"image" ->
|
||||||
[
|
[
|
||||||
{:meta, [property: "twitter:card", content: "summary_large_image"], []},
|
{:meta, [property: "twitter:card", content: "summary_large_image"], []},
|
||||||
{:meta,
|
{:meta,
|
||||||
[
|
[
|
||||||
property: "twitter:player",
|
property: "twitter:player",
|
||||||
content: Utils.attachment_url(url["href"])
|
content: MediaProxy.url(url["href"])
|
||||||
], []}
|
], []}
|
||||||
| acc
|
| acc
|
||||||
]
|
]
|
||||||
|
@ -87,7 +93,7 @@ defp build_attachments(id, %{data: %{"attachment" => attachments}}) do
|
||||||
{:meta, [property: "twitter:player", content: player_url(id)], []},
|
{:meta, [property: "twitter:player", content: player_url(id)], []},
|
||||||
{:meta, [property: "twitter:player:width", content: "#{width}"], []},
|
{:meta, [property: "twitter:player:width", content: "#{width}"], []},
|
||||||
{:meta, [property: "twitter:player:height", content: "#{height}"], []},
|
{:meta, [property: "twitter:player:height", content: "#{height}"], []},
|
||||||
{:meta, [property: "twitter:player:stream", content: url["href"]], []},
|
{:meta, [property: "twitter:player:stream", content: MediaProxy.url(url["href"])], []},
|
||||||
{:meta,
|
{:meta,
|
||||||
[property: "twitter:player:stream:content_type", content: url["mediaType"]], []}
|
[property: "twitter:player:stream:content_type", content: url["mediaType"]], []}
|
||||||
| acc
|
| acc
|
||||||
|
|
|
@ -7,7 +7,6 @@ defmodule Pleroma.Web.Metadata.Utils do
|
||||||
alias Pleroma.Emoji
|
alias Pleroma.Emoji
|
||||||
alias Pleroma.Formatter
|
alias Pleroma.Formatter
|
||||||
alias Pleroma.HTML
|
alias Pleroma.HTML
|
||||||
alias Pleroma.Web.MediaProxy
|
|
||||||
|
|
||||||
def scrub_html_and_truncate(%{data: %{"content" => content}} = object) do
|
def scrub_html_and_truncate(%{data: %{"content" => content}} = object) do
|
||||||
content
|
content
|
||||||
|
@ -38,10 +37,6 @@ def scrub_html(content) when is_binary(content) do
|
||||||
|
|
||||||
def scrub_html(content), do: content
|
def scrub_html(content), do: content
|
||||||
|
|
||||||
def attachment_url(url) do
|
|
||||||
MediaProxy.preview_url(url)
|
|
||||||
end
|
|
||||||
|
|
||||||
def user_name_string(user) do
|
def user_name_string(user) do
|
||||||
"#{user.name} " <>
|
"#{user.name} " <>
|
||||||
if user.local do
|
if user.local do
|
||||||
|
|
Loading…
Reference in a new issue