logo

pleroma

My custom branche(s) on git.pleroma.social/pleroma/pleroma git clone https://hacktivis.me/git/pleroma.git
commit: 8246db2a968943a0cab615b8b5c1439aa4cb2547
parent 8e09a3cfa05d96bb7a981207f3086203601f57a2
Author: Mark Felder <feld@feld.me>
Date:   Sat,  6 Mar 2021 12:02:32 -0600

Workaround for URI.merge/2 bug https://github.com/elixir-lang/elixir/issues/10771

If we avoid URI.merge unless we know we need it we reduce the edge cases we could encounter.
The site would need to both have "//" in the %URI{:path} and the image needs to be a relative URL.

Diffstat:

Mlib/pleroma/web/mastodon_api/views/status_view.ex12+++++++++---
1 file changed, 9 insertions(+), 3 deletions(-)

diff --git a/lib/pleroma/web/mastodon_api/views/status_view.ex b/lib/pleroma/web/mastodon_api/views/status_view.ex @@ -380,9 +380,15 @@ defmodule Pleroma.Web.MastodonAPI.StatusView do page_url = page_url_data |> to_string image_url = - if is_binary(rich_media["image"]) do - URI.merge(page_url_data, URI.parse(rich_media["image"])) - |> to_string + cond do + !is_binary(rich_media["image"]) -> + nil + + String.starts_with?(rich_media["image"], "http") -> + rich_media["image"] + + true -> + URI.merge(page_url_data, URI.parse(rich_media["image"])) |> to_string end %{