Dialyzer: The function call will not succeed.
:idna.encode/1 expects a charlist even though it will accept a binary string. That functionality is undocumented / not part of its typespec, so we should turn it into a charlist first. Also switch to using match?/2 lib/pleroma/user.ex:2056:call The function call will not succeed. :idna.encode(_host :: binary()) will never return since the success typing is: (string()) :: string() and the contract is (string()) :: string()
This commit is contained in:
parent
6551ca2db7
commit
6b6a2adb07
|
@ -2053,7 +2053,8 @@ defp verify_field_link(field, profile_urls) do
|
||||||
%{scheme: scheme, userinfo: nil, host: host}
|
%{scheme: scheme, userinfo: nil, host: host}
|
||||||
when not_empty_string(host) and scheme in ["http", "https"] <-
|
when not_empty_string(host) and scheme in ["http", "https"] <-
|
||||||
URI.parse(value),
|
URI.parse(value),
|
||||||
{:not_idn, true} <- {:not_idn, to_string(:idna.encode(host)) == host},
|
{:not_idn, true} <-
|
||||||
|
{:not_idn, match?(^host, to_string(:idna.encode(to_charlist(host))))},
|
||||||
"me" <- Pleroma.Web.RelMe.maybe_put_rel_me(value, profile_urls) do
|
"me" <- Pleroma.Web.RelMe.maybe_put_rel_me(value, profile_urls) do
|
||||||
CommonUtils.to_masto_date(NaiveDateTime.utc_now())
|
CommonUtils.to_masto_date(NaiveDateTime.utc_now())
|
||||||
else
|
else
|
||||||
|
|
Loading…
Reference in New Issue