Allow remote users with an empty name
Environment
- Installation type:
-
OTP -
From source
-
- Pleroma version (could be found in the "Version" tab of settings in Pleroma-FE): 2.0.2
- Elixir version (
elixir -v
for from source installations, N/A for OTP): irrelevant - Operating system: Linux
- PostgreSQL version (
postgres -V
): irrelevant
Bug description
Remote users with an empty name field are not accepted as valid. They should be. Example:
Apr 19 20:35:21 blobcat-backend mix[24477]: ** (exit) an exception was raised:
Apr 19 20:35:21 blobcat-backend mix[24477]: ** (FunctionClauseError) no function clause matching in Plug.Conn.resp/3
Apr 19 20:35:21 blobcat-backend mix[24477]: (plug 1.9.0) lib/plug/conn.ex:577: Plug.Conn.resp(%Plug.Conn{adapter: {Plug.Cowboy.Conn, :...}, assigns: %{digest: "SHA-256=l5qE233+Aa/tpWklx/96nZHXZYAmL0UwuQciqdBk/Zk=", kind: :error, layout: false, locale: "en", reason: %MatchError{term: {:error, #Ecto.Changeset<action: :insert, changes: %{ap_enabled: true, ap_id: "https://fedi.absturztau.be/users/Jain", avatar: %{"type" => "Image", "url" => [%{"href" => "https://fedi.absturztau.be/media/7ac2876c1386804c1486d11193a9b1cefcad20b57f36a84d11ead1df8d774be3.png"}]}, banner: nil, bio: "Just another identical name<br/><br/><span class=\"h-card\"><a data-user=\"9mzNsRd8r2P1RgXQZc\" class=\"u-url mention\" href=\"https://blob.cat/users/Jain\" rel=\"ugc\">@<span>Jain@blob.cat</span></a></span>", follower_address: "https://fedi.absturztau.be/users/Jain/followers", following_address: "https://fedi.absturztau.be/users/Jain/following", nickname: "Jain@fedi.absturztau.be", source_data: %{"@context" => ["https://www.w3.org/ns/activitystreams", "https://fedi.absturztau.be/schemas/litepub-0.1.jsonld", %{"@language" => "und"}], "attachment" => [], "discoverable" => false, "endpoints" => %{"oauthAuthorizationEndpoint" => "https://fedi.absturztau.be/oauth/authorize", "oauthRegistrationEndpoint" => "https://fedi.absturztau.be/api/v1/apps", "oauthTokenEndpoint" => "https://fedi.absturztau.be/oauth/token", "sharedInbox" => "https://fedi.absturztau.be/inbox", "uploadMedia" => "https://fedi.absturztau.be/api/ap/upload_media"}, "followers" => "https://fedi.absturztau.be/users/Jain/followers", "following" => "https://fedi.absturztau.be/users/Jain/following", "icon" => %{"type" => "Image", "url" => "https://fedi.absturztau.be/media/7ac2876c1386804c1486d11193a9b1cefcad20b57f36a84d11ead1df8d774be3.png"}, "id" => "https://fedi.absturztau.be/users/Jain", "inbox" => "https://fedi.absturztau.be/users/Jain/inbox", "manuallyApprovesFollowers" => false, "name" => " ", "outbox" => "https://fedi.absturztau.be/users/Jain/outbox", "preferredUsername" => "Jain", "publicKey" => %{"id" => "https://fedi.absturztau.be/users/Jain#main-key", "owner" => "https://fedi.absturztau.be/users/Jain", "publicKeyPem" => "-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuHv2u9ljZpArFxR83MWb\ncE0IB6EPW9sK9rHxMR4fJBFIsx4JrFJl4XSr1D2BSmL4AMLwWmHqa6qM5slP2tth\n0Uig6MO+wUBR/sY3xCSUDvjgXpPhH79Ab4IuIRLc7KaKQc4fmC2UNkYBh6Hp/qKX\nyD47G+4fKm4Vd/zv5GfrfBQmQc1R+y4raD8HIZcLm/wMN1FnEFWuFhNMJ3i2LaRY\n5zW0tb+RsRQuyyRoLBgBI/AxxS4AFNyIHnn3PtWDUA/OmR0TmUSaymJm8t+K+z67\n2fcbR64xG/q3Sctsu9TXsYiTXvN3dmu7XN1OCttn/wGeDZezPdHQ0ixOYUM3IbH8\nJQIDAQAB\n-----END PUBLIC KEY-----\n\n"}, "summary" => "Just another identical name<br/><br/><span class=\"h-card\"><a data-user=\"9mzNsRd8r2P1RgXQZc\" class=\"u-url mention\" href=\"https://blob.cat/users/Jain\" rel=\"ugc\">@<span>Jain@blob.cat</span></a></span>", "tag" => [], "type" => "Person", "url" => "https://fedi.absturztau.be/users/Jain"}, uri: "https://fedi.absturztau.be/users/Jain"}, errors: [name: {"can't be blank", [validation: :required]}], data: #Pleroma.User<>, valid?: false>}}, remote_ip_found: true, stack: [{Pleroma.Web.ActivityPub.Transmogrifier, :fix_addressing, 1, [file: 'lib/pleroma/web/activity_pub/transmogrifier.ex', line: 137]}, {Pleroma.Web.ActivityPub.Transmogrifier, :handle_incoming, 2, [file: 'lib/pleroma/web/activity_pub/transmogrifier.ex', line: 407]}, {Pleroma.Object.Fetcher, :fetch_object_from_id, 2, [file: 'lib/pleroma/object/fetcher.ex', line: 72]}, {Pleroma.Web.ActivityPub.ActivityPubController, :inbox, 2, [file: 'lib/pleroma/web/activity_pub/activity_pub_controller.ex', line: 264]}, {Pleroma.Web.ActivityPub.ActivityPubController, :action, 2, [file: 'lib/pleroma/web/activity_pub/activity_pub_controller.ex', line: 5]}, {Pleroma.Web.ActivityPub.ActivityPubController, :phoenix_controller_pipeline, 2, [file: 'lib/pleroma/web/activity_pub/activity_pub_controller.ex', line: 5]}, {Pleroma.Web.Endpoint, :instrument, 4, [file: 'lib/pleroma/web/endpoint.ex', line: 5]}, {Phoenix.Router, :__call__, 2, [file: 'lib/phoenix/router.ex', line: 288]}], status: 500, valid_signature: false}, before_send: [#Function<0.49113890/1 in Pleroma.Web.Endpoint.PipelineInstrumenter.call/2>, #Function<1.129014997/1 in Plug.Logger.call/2>], body_params: %{"@context" => ["https://www.w3.org/ns/activitystreams", "https://fedi.absturztau.be/schemas/litepub-0.1.jsonld", %{"@language" => "und"}], "actor" => "https://fedi.absturztau.be/users/Jain", "cc" => ["https://fedi.absturztau.be/users/Jain/followers"], "context" => "https://blob.cat/contexts/3c6b209b-5cca-4c18-9b30-02c3aa5bedca", "context_id" => 16768656, "directMessage" => false, "id" => "https://fedi.absturztau.be/activities/704b4954-8fd1-499c-b029-4e22732aee28", "object" => %{"actor" => "https://fedi.absturztau.be/users/Jain", "attachment" => [], "attributedTo" => "https://fedi.absturztau.be/users/Jain", "cc" => ["https://fedi.absturztau.be/users/Jain/followers"], "content" => "<span class=\"h-card\"><a class=\"u-url mention\" data-user=\"9mzNsRd8r2P1RgXQZc\" href=\"https://blob.cat/users/Jain\" rel=\"ugc\">@<span>Jain</span></a></span> <span class=\"h-card\"><a class=\"u-url mention\" data-user=\"9tz6APVHPfky0OxxxY\" href=\"https://rawr-xd.club/users/jasonl8446\" rel=\"ugc\">@<span>jasonl8446</span></a></span> <span class=\"h-card\"><a class=\"u-url mention\" data-user=\"9tzO8RKpQna8HVHtzM\" href=\"https://rawr-xd.club/users/kazuma\" rel=\"ugc\">@<span>kazuma</span></a></span> <span class=\"h-card\"><a class=\"u-url mention\" data-user=\"9myiL8hg6gVP4HezWy\" href=\"https://blob.cat/users/mewmew\" rel=\"ugc\">@<span>mewmew</span></a></span> you even cant see my posts :blobcatsad: i did not blocked you both", "context" => "https://blob.cat/contexts/3c6b209b-5cca-4c18-9b30-02c3aa5bedca", "conversation" => "https://blob.cat/contexts/3c6b209b-5cca-4c18-9b30-02c3aa5bedca", "id" => "https://fedi.absturztau.be/objects/420bfca4-fba4-4395-85bb-cf964a9fbfa7", "inReplyTo" => "https://blob.cat/objects/04e0a806-4511-446f-8917-f5121d5a1ced", "published" => "2020-04-19T20:34:48.703755Z", "sensitive" => false, "summary" => "", "tag" => [%{"href" => "https://blob.cat/users/Jain", "name" => "@Jain@blob.cat", "type" => "Mention"}, %{"href" => "https://blob.cat/users/mewmew", "name" => "@mewmew@blob.cat", "type" => "Mention"}, %{"href" => "https://rawr-xd.club/users/jasonl8446", "name" => "@jasonl8446@rawr-xd.club", "type" => "Mention"}, %{"href" => "https://rawr-xd.club/users/kazuma", "name" => "@kazuma@rawr-xd.club", "type" => "Mention"}, %{"icon" => %{"type" => "Image", "url" => "https://fedi.absturztau.be/emoji/blobcat/blobcatsad.png"}, "id" => "https://fedi.absturztau.be/emoji/blobcat/blobcatsad.png", "name" => ":blobcatsad:", "type" => "Emoji", "updated" => "1970-01-01T00:00:00Z"}], "to" => ["https://blob.cat/users/Jain", "https://www.w3.org/ns/activitystreams#Public", "https://rawr-xd.club/users/jasonl8446", "https://rawr-xd.club/users/kazuma", "https://blob.cat/users/mewmew"], "type" => "Note"}, "published" => "2020-04-19T20:34:48.702689Z", "to" => ["https://blob.cat/users/Jain", "https://www.w3.org/ns/activitystreams#Public", "https://rawr-xd.club/users/jasonl8446", "https://rawr-xd.club/users/kazuma", "https://blob.cat/users/mewmew"], "type" => "Create"}, cookies: %Plug.Conn.Unfetched{aspect: :cookies}, halted: false, host: "rawr-xd.club", method: "POST", owner: #PID<0.20435.172>, params: %{"@context" => ["https://www.w3.org/ns/activitystreams", "https://fedi.absturztau.be/schemas/litepub-0.1.jsonld", %{"@language" => "und"}], "actor" => "https://fedi.absturztau.be/users/Jain", "cc" => ["https://fedi.absturztau.be/users/Jain/followers"], "context" => "https://blob.cat/contexts/3c6b209b-5cca-4c18-9b30-02c3aa5bedca", "context_id" => 16768656, "directMessage" => false, "id" => "https://fedi.absturztau.be (truncated)
Edited by Roman Chvanikov