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.
This commit is contained in:
Mark Felder 2021-03-06 12:02:32 -06:00
parent 8e09a3cfa0
commit 8246db2a96

View file

@ -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
%{