mirror of
https://git.pleroma.social/sjw/pleroma.git
synced 2024-12-26 22:35:21 +01:00
Merge branch 'bugfix/actor-containment' into 'develop'
activitypub: correctly handle bare URIs in user lookup Closes #645 See merge request pleroma/pleroma!829
This commit is contained in:
commit
b63a5e309d
@ -731,7 +731,7 @@ defmodule Pleroma.User do
|
||||
# Strip the beginning @ off if there is a query
|
||||
query = String.trim_leading(query, "@")
|
||||
|
||||
if resolve, do: User.get_or_fetch_by_nickname(query)
|
||||
if resolve, do: get_or_fetch(query)
|
||||
|
||||
fts_results = do_search(fts_search_subquery(query), for_user)
|
||||
|
||||
|
@ -818,8 +818,6 @@ defmodule Pleroma.Web.ActivityPub.ActivityPub do
|
||||
if object = Object.get_cached_by_ap_id(id) do
|
||||
{:ok, object}
|
||||
else
|
||||
Logger.info("Fetching #{id} via AP")
|
||||
|
||||
with {:ok, data} <- fetch_and_contain_remote_object_from_id(id),
|
||||
nil <- Object.normalize(data),
|
||||
params <- %{
|
||||
@ -851,7 +849,7 @@ defmodule Pleroma.Web.ActivityPub.ActivityPub do
|
||||
end
|
||||
|
||||
def fetch_and_contain_remote_object_from_id(id) do
|
||||
Logger.info("Fetching #{id} via AP")
|
||||
Logger.info("Fetching object #{id} via AP")
|
||||
|
||||
with true <- String.starts_with?(id, "http"),
|
||||
{:ok, %{body: body, status: code}} when code in 200..299 <-
|
||||
|
@ -878,6 +878,16 @@ defmodule Pleroma.UserTest do
|
||||
assert [] == User.search(query)
|
||||
end)
|
||||
end
|
||||
|
||||
test "works with URIs" do
|
||||
results = User.search("http://mastodon.example.org/users/admin", true)
|
||||
result = results |> List.first()
|
||||
|
||||
user = User.get_by_ap_id("http://mastodon.example.org/users/admin")
|
||||
|
||||
assert length(results) == 1
|
||||
assert user == result |> Map.put(:search_rank, nil)
|
||||
end
|
||||
end
|
||||
|
||||
test "auth_active?/1 works correctly" do
|
||||
|
Loading…
Reference in New Issue
Block a user