logo

pleroma

My custom branche(s) on git.pleroma.social/pleroma/pleroma
commit: 1ab4e35f27f2d54058460657f63de09a8f9d1444
parent: 167f810ff18fdc0271e6908d1d07c2f715e3f34f
Author: Haelwenn <contact+git.pleroma.social@hacktivis.me>
Date:   Tue,  9 Jul 2019 16:07:20 +0000

Merge branch 'enable-ogp-by-default' into 'develop'

Do not crash if metadata fails to render and enable OGP and TwitterCard by default

Closes #1034

See merge request pleroma/pleroma!1388

Diffstat:

MCHANGELOG.md2++
Mconfig/config.exs6+++++-
Mlib/pleroma/web/metadata/opengraph.ex2++
Mlib/pleroma/web/metadata/twitter_card.ex2++
Mlib/pleroma/web/router.ex16+++++++++++++++-
5 files changed, 26 insertions(+), 2 deletions(-)

diff --git a/CHANGELOG.md b/CHANGELOG.md @@ -13,10 +13,12 @@ Configuration: `federation_incoming_replies_max_depth` option ### Fixed - Not being able to pin unlisted posts +- Metadata rendering errors resulting in the entire page being inaccessible - Mastodon API: Handling of search timeouts (`/api/v1/search` and `/api/v2/search`) - Mastodon API: Embedded relationships not being properly rendered in the Account entity of Status entity ### Changed +- Configuration: OpenGraph and TwitterCard providers enabled by default - Configuration: Filter.AnonymizeFilename added ability to retain file extension with custom text ### Changed diff --git a/config/config.exs b/config/config.exs @@ -359,7 +359,11 @@ config :pleroma, :gopher, port: 9999 config :pleroma, Pleroma.Web.Metadata, - providers: [Pleroma.Web.Metadata.Providers.RelMe], + providers: [ + Pleroma.Web.Metadata.Providers.OpenGraph, + Pleroma.Web.Metadata.Providers.TwitterCard, + Pleroma.Web.Metadata.Providers.RelMe + ], unfurl_nsfw: false config :pleroma, :suggestions, diff --git a/lib/pleroma/web/metadata/opengraph.ex b/lib/pleroma/web/metadata/opengraph.ex @@ -121,4 +121,6 @@ defmodule Pleroma.Web.Metadata.Providers.OpenGraph do acc ++ rendered_tags end) end + + defp build_attachments(_), do: [] end diff --git a/lib/pleroma/web/metadata/twitter_card.ex b/lib/pleroma/web/metadata/twitter_card.ex @@ -117,6 +117,8 @@ defmodule Pleroma.Web.Metadata.Providers.TwitterCard do end) end + defp build_attachments(_id, _object), do: [] + defp player_url(id) do Pleroma.Web.Router.Helpers.o_status_url(Pleroma.Web.Endpoint, :notice_player, id) end diff --git a/lib/pleroma/web/router.ex b/lib/pleroma/web/router.ex @@ -724,6 +724,7 @@ end defmodule Fallback.RedirectController do use Pleroma.Web, :controller + require Logger alias Pleroma.User alias Pleroma.Web.Metadata @@ -750,7 +751,20 @@ defmodule Fallback.RedirectController do def redirector_with_meta(conn, params) do {:ok, index_content} = File.read(index_file_path()) - tags = Metadata.build_tags(params) + + tags = + try do + Metadata.build_tags(params) + rescue + e -> + Logger.error( + "Metadata rendering for #{conn.request_path} failed.\n" <> + Exception.format(:error, e, __STACKTRACE__) + ) + + "" + end + response = String.replace(index_content, "<!--server-generated-meta-->", tags) conn