Merge remote-tracking branch 'remotes/origin/develop' into media-preview-proxy

# Conflicts:
#	lib/pleroma/instances/instance.ex
This commit is contained in:
Ivan Tashkinov 2020-09-11 17:19:58 +03:00
commit 0bda85857e
106 changed files with 841 additions and 7675 deletions

View file

@ -157,13 +157,11 @@ defmodule Pleroma.Instances.Instance do
try do
with {:ok, %Tesla.Env{body: html}} <-
Pleroma.HTTP.get(to_string(instance_uri), [{"accept", "text/html"}], pool: :media),
favicon_rel <-
html
|> Floki.parse_document!()
|> Floki.attribute("link[rel=icon]", "href")
|> List.first(),
favicon <- URI.merge(instance_uri, favicon_rel) |> to_string(),
true <- is_binary(favicon) do
{_, [favicon_rel | _]} when is_binary(favicon_rel) <-
{:parse,
html |> Floki.parse_document!() |> Floki.attribute("link[rel=icon]", "href")},
{_, favicon} when is_binary(favicon) <-
{:merge, URI.merge(instance_uri, favicon_rel) |> to_string()} do
favicon
else
_ -> nil