Merge branch 'webfinger-fix' into 'develop'
Use correct domain for fqn and InstanceView See merge request soapbox-pub/rebased!215
This commit is contained in:
commit
5866789d46
4 changed files with 20 additions and 8 deletions
|
@ -2253,7 +2253,7 @@ def full_nickname(%User{} = user) do
|
||||||
if String.contains?(user.nickname, "@") do
|
if String.contains?(user.nickname, "@") do
|
||||||
user.nickname
|
user.nickname
|
||||||
else
|
else
|
||||||
%{host: host} = URI.parse(user.ap_id)
|
host = Pleroma.Web.WebFinger.domain()
|
||||||
user.nickname <> "@" <> host
|
user.nickname <> "@" <> host
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -21,7 +21,7 @@ def render("show.json", _) do
|
||||||
instance = Config.get(:instance)
|
instance = Config.get(:instance)
|
||||||
|
|
||||||
%{
|
%{
|
||||||
uri: Pleroma.Web.Endpoint.url(),
|
uri: Pleroma.Web.WebFinger.domain(),
|
||||||
title: Keyword.get(instance, :name),
|
title: Keyword.get(instance, :name),
|
||||||
description: Keyword.get(instance, :description),
|
description: Keyword.get(instance, :description),
|
||||||
short_description: Keyword.get(instance, :short_description),
|
short_description: Keyword.get(instance, :short_description),
|
||||||
|
@ -61,7 +61,7 @@ def render("show2.json", _) do
|
||||||
instance = Config.get(:instance)
|
instance = Config.get(:instance)
|
||||||
|
|
||||||
%{
|
%{
|
||||||
domain: Pleroma.Web.Endpoint.url(),
|
domain: Pleroma.Web.WebFinger.domain(),
|
||||||
title: Keyword.get(instance, :name),
|
title: Keyword.get(instance, :name),
|
||||||
version: "#{@mastodon_api_level} (compatible; #{Pleroma.Application.compat_version()})",
|
version: "#{@mastodon_api_level} (compatible; #{Pleroma.Application.compat_version()})",
|
||||||
source_url: Pleroma.Application.repository(),
|
source_url: Pleroma.Application.repository(),
|
||||||
|
|
|
@ -96,7 +96,7 @@ def represent_user(user, "XML") do
|
||||||
|> XmlBuilder.to_doc()
|
|> XmlBuilder.to_doc()
|
||||||
end
|
end
|
||||||
|
|
||||||
defp domain do
|
def domain do
|
||||||
Pleroma.Config.get([__MODULE__, :domain]) || Pleroma.Web.Endpoint.host()
|
Pleroma.Config.get([__MODULE__, :domain]) || Pleroma.Web.Endpoint.host()
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
@ -2614,13 +2614,25 @@ test "returns nickname without host" do
|
||||||
end
|
end
|
||||||
|
|
||||||
describe "full_nickname/1" do
|
describe "full_nickname/1" do
|
||||||
test "returns fully qualified nickname for local and remote users" do
|
test "returns fully qualified nickname for local users" do
|
||||||
local_user =
|
local_user = insert(:user, nickname: "local_user")
|
||||||
insert(:user, nickname: "local_user", ap_id: "https://somehost.com/users/local_user")
|
|
||||||
|
|
||||||
|
assert User.full_nickname(local_user) == "local_user@localhost"
|
||||||
|
end
|
||||||
|
|
||||||
|
test "returns fully qualified nickname for local users when using different domain for webfinger" do
|
||||||
|
clear_config([Pleroma.Web.WebFinger, :domain], "plemora.dev")
|
||||||
|
|
||||||
|
host = Pleroma.Web.Endpoint.host()
|
||||||
|
|
||||||
|
local_user = insert(:user, nickname: "local_user")
|
||||||
|
|
||||||
|
assert User.full_nickname(local_user) == "local_user@plemora.dev"
|
||||||
|
end
|
||||||
|
|
||||||
|
test "returns fully qualified nickname for remote users" do
|
||||||
remote_user = insert(:user, nickname: "remote@host.com", local: false)
|
remote_user = insert(:user, nickname: "remote@host.com", local: false)
|
||||||
|
|
||||||
assert User.full_nickname(local_user) == "local_user@somehost.com"
|
|
||||||
assert User.full_nickname(remote_user) == "remote@host.com"
|
assert User.full_nickname(remote_user) == "remote@host.com"
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue