Searching for accounts by URL is broken
Backtrace with a random mastodon account:
23:46:40.800 request_id=2lfs8t1b019arncqck0005f1 [info] GET /api/v2/search
23:46:40.855 request_id=2lfs8t1b019arncqck0005f1 [info] Fetching https://niu.moe/users/miwilc via AP
23:46:40.889 request_id=2lfs8t1b019arncqck0005f1 [info] Sent 500 in 88ms
23:46:40.894 [error] #PID<0.3577.0> running Pleroma.Web.Endpoint (cowboy_protocol) terminated
Server: queer.hacktivis.me:80 (http)
Request: GET /api/v2/search?q=https:%2F%2Fniu.moe%2Fusers%2Fmiwilc&resolve=true
** (exit) an exception was raised:
** (FunctionClauseError) no function clause matching in Pleroma.Web.ActivityPub.Transmogrifier.get_actor/1
(pleroma) lib/pleroma/web/activity_pub/transmogrifier.ex:16: Pleroma.Web.ActivityPub.Transmogrifier.get_actor(%{"actor" => nil, "cc" => nil, "object" => %{"@context" => ["https://www.w3.org/ns/activitystreams", "https:/
/w3id.org/security/v1", %{"Emoji" => "toot:Emoji", "Hashtag" => "as:Hashtag", "PropertyValue" => "schema:PropertyValue", "atomUri" => "ostatus:atomUri", "conversation" => "ostatus:conversation", "featured" => %{"@id" => "toot:f
eatured", "@type" => "@id"}, "focalPoint" => %{"@container" => "@list", "@id" => "toot:focalPoint"}, "inReplyToAtomUri" => "ostatus:inReplyToAtomUri", "manuallyApprovesFollowers" => "as:manuallyApprovesFollowers", "movedTo" =>
%{"@id" => "as:movedTo", "@type" => "@id"}, "ostatus" => "http://ostatus.org#", "schema" => "http://schema.org#", "sensitive" => "as:sensitive", "toot" => "http://joinmastodon.org/ns#", "value" => "schema:value"}], "attachment"
=> [%{"name" => "Keybase", "type" => "PropertyValue", "value" => "<a href=\"https://keybase.io/miwilc\" rel=\"me nofollow noopener\" target=\"_blank\"><span class=\"invisible\">https://</span><span class=\"\">keybase.io/miwilc
</span><span class=\"invisible\"></span></a>"}, %{"name" => "Email", "type" => "PropertyValue", "value" => "michael (at) wilcox (dot) pub"}, %{"name" => "pol", "type" => "PropertyValue", "value" => "centre-right"}], "endpoints"
=> %{"sharedInbox" => "https://niu.moe/inbox"}, "featured" => "https://niu.moe/users/miwilc/collections/featured", "followers" => "https://niu.moe/users/miwilc/followers", "following" => "https://niu.moe/users/miwilc/following
", "icon" => %{"mediaType" => "image/png", "type" => "Image", "url" => "https://cdn.niu.moe/accounts/avatars/000/049/578/original/c5409479f7d2fda1.png"}, "id" => "https://niu.moe/users/miwilc", "image" => %{"mediaType" => "imag
e/png", "type" => "Image", "url" => "https://cdn.niu.moe/accounts/headers/000/049/578/original/18facc335390a31c.png"}, "inbox" => "https://niu.moe/users/miwilc/inbox", "manuallyApprovesFollowers" => false, "name" => "Michael Wi
lcox", "outbox" => "https://niu.moe/users/miwilc/outbox", "preferredUsername" => "miwilc", "publicKey" => %{"id" => "https://niu.moe/users/miwilc#main-key", "owner" => "https://niu.moe/users/miwilc", "publicKeyPem" => "-----BEG
IN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAlZZRRkfR1N+jf8Yi2waP\ndDhqb1fe9WQ+qOiMwiPpqpgpyod7PUwm1YCWiQ5R3ul05fD2U1SXqLWGZwicHMpF\nYQyVqEGEnn/gVVrXv0n04bRYwbRh9HvI+QDxQTipNuUjAoRPpB5KF3OSb+ACpGyq\niIgYA3HYA
A9fXWh5s/coa8YbQq+W5xSQDwCnEG8i5sFDpNJt4VM/hlpIoHUb7RiR\nYXLmLkNUW1PKJ02aISQ4bCXSO2Fcbt3K0tdrwvWN1rXzk1MPZczqy9UyyQawT+9s\n+YB+R98t/gfw7Jp43P0mzJ+sWadlspdgD260WQpgGJ3hlkDiFgDsPx0EXVCyKa+4\nVwIDAQAB\n-----END PUBLIC KEY-----\n"$
, "summary" => "<p>Councilor/Mod for niu</p><p>"highly misleading yet technically correct"</p><p>am on tilde.town, check me out: <a href=\"https://tilde.town/~miwilc/\" rel=\"nofollow noopener\" target=\"_blank\"><spa
n class=\"invisible\">https://</span><span class=\"\">tilde.town/~miwilc/</span><span class=\"invisible\"></span></a></p><p><a href=\"https://niu.moe/tags/vim\" class=\"mention hashtag\" rel=\"tag\">#<span>vim</span></a> <a hre
f=\"https://niu.moe/tags/infosec\" class=\"mention hashtag\" rel=\"tag\">#<span>infosec</span></a> <a href=\"https://niu.moe/tags/devops\" class=\"mention hashtag\" rel=\"tag\">#<span>devops</span></a></p>", "tag" => [], "type"
=> "Person", "url" => "https://niu.moe/@miwilc"}, "to" => nil, "type" => "Create"})
(pleroma) lib/pleroma/web/activity_pub/transmogrifier.ex:42: Pleroma.Web.ActivityPub.Transmogrifier.contain_origin/2
(pleroma) lib/pleroma/web/activity_pub/activity_pub.ex:755: Pleroma.Web.ActivityPub.ActivityPub.fetch_object_from_id/1
(pleroma) lib/pleroma/web/mastodon_api/mastodon_api_controller.ex:665: Pleroma.Web.MastodonAPI.MastodonAPIController.status_search/1
(pleroma) lib/pleroma/web/mastodon_api/mastodon_api_controller.ex:693: Pleroma.Web.MastodonAPI.MastodonAPIController.search2/2
(pleroma) lib/pleroma/web/mastodon_api/mastodon_api_controller.ex:1: Pleroma.Web.MastodonAPI.MastodonAPIController.action/2
(pleroma) lib/pleroma/web/mastodon_api/mastodon_api_controller.ex:1: Pleroma.Web.MastodonAPI.MastodonAPIController.phoenix_controller_pipeline/2
(pleroma) lib/pleroma/web/endpoint.ex:1: Pleroma.Web.Endpoint.instrument/4
Using webfinger works but it shouldn’t be the only way to get an account, specially as webfinger is optional.