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
1 changed files with 9 additions and 3 deletions

View File

@ -380,9 +380,15 @@ defmodule Pleroma.Web.MastodonAPI.StatusView do
page_url = page_url_data |> to_string page_url = page_url_data |> to_string
image_url = image_url =
if is_binary(rich_media["image"]) do cond do
URI.merge(page_url_data, URI.parse(rich_media["image"])) !is_binary(rich_media["image"]) ->
|> to_string 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 end
%{ %{