X-Git-Url: http://git.squeep.com/?a=blobdiff_plain;ds=sidebyside;f=lib%2Fpleroma%2Fweb%2Fmetadata%2Fproviders%2Fopen_graph.ex;h=df0cca74a6ce5a58a12f19af7966d170afa22f2a;hb=99cc26bb02f2ac7ab26aa761ee5427406830a778;hp=332684782a49df192657cdd335565a38b784ddc2;hpb=2cf648d41989dc9cf243fb0972b075726c86adad;p=akkoma diff --git a/lib/pleroma/web/metadata/providers/open_graph.ex b/lib/pleroma/web/metadata/providers/open_graph.ex index 332684782..df0cca74a 100644 --- a/lib/pleroma/web/metadata/providers/open_graph.ex +++ b/lib/pleroma/web/metadata/providers/open_graph.ex @@ -37,7 +37,8 @@ defmodule Pleroma.Web.Metadata.Providers.OpenGraph do ] ++ if attachments == [] or Metadata.activity_nsfw?(object) do [ - {:meta, [property: "og:image", content: MediaProxy.preview_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:height", content: 150], []} ] @@ -58,7 +59,8 @@ defmodule Pleroma.Web.Metadata.Providers.OpenGraph do {:meta, [property: "og:url", content: user.uri || user.ap_id], []}, {:meta, [property: "og:description", content: truncated_bio], []}, {:meta, [property: "og:type", content: "article"], []}, - {:meta, [property: "og:image", content: MediaProxy.preview_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:height", content: 150], []} ] @@ -78,10 +80,11 @@ defmodule Pleroma.Web.Metadata.Providers.OpenGraph do | 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. + # 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" -> [ {:meta, [property: "og:image", content: MediaProxy.url(url["href"])], []}, @@ -126,14 +129,17 @@ defmodule Pleroma.Web.Metadata.Providers.OpenGraph do end end - defp maybe_add_video_thumbnail(url, metadata) do + # Media Preview Proxy makes thumbnails of videos without resizing, so we can trust the + # width and height of the source video. + defp maybe_add_video_thumbnail(metadata, url) do cond do Pleroma.Config.get([:media_preview_proxy, :enabled], false) -> - [ - {:meta, [property: "og:image:width", content: "#{url["width"]}"], []}, - {:meta, [property: "og:image:height", content: "#{url["height"]}"], []}, - {:meta, [property: "og:image", content: MediaProxy.preview_url(url["href"])], []} - ] + metadata ++ + [ + {:meta, [property: "og:image:width", content: "#{url["width"]}"], []}, + {:meta, [property: "og:image:height", content: "#{url["height"]}"], []}, + {:meta, [property: "og:image", content: MediaProxy.preview_url(url["href"])], []} + ] true -> metadata