500 from ActivityPub.Transmogrifier.contain_origin_from_id/2 with [] for data
Saw an exception in the logs today, not sure what the right solution is:
Mar 27 13:44:33 pleroma-instance mix[6865]: 13:44:33.092 request_id=2m7t9dd58av1obt9r4004p9i [info] POST /inbox
Mar 27 13:44:33 pleroma-instance mix[6865]: 13:44:33.094 request_id=2m7t9dd58av1obt9r4004p9i [info] Fetching object https://nerdica.net/profile/skin via AP
Mar 27 13:44:33 pleroma-instance mix[6865]: 13:44:33.444 request_id=2m7t9dd58av1obt9r4004p9i [info] Converted error :function_clause to 500 response
Mar 27 13:44:33 pleroma-instance mix[6865]: 13:44:33.444 request_id=2m7t9dd58av1obt9r4004p9i [error] Internal server error: %FunctionClauseError{args: nil, arity: 2, clauses: nil, function: :contain_origin_from_id, kind: nil, module: Pleroma.Web.ActivityPub.Transmogrifier}
Mar 27 13:44:33 pleroma-instance mix[6865]: 13:44:33.444 request_id=2m7t9dd58av1obt9r4004p9i [info] Sent 500 in 351ms
Mar 27 13:44:33 pleroma-instance mix[6865]: 13:44:33.445 [error] #PID<0.29002.1> running Pleroma.Web.Endpoint (connection #PID<0.28999.1>, stream id 1) terminated
Mar 27 13:44:33 pleroma-instance mix[6865]: Server: pleroma-instance:80 (http)
Mar 27 13:44:33 pleroma-instance mix[6865]: Request: POST /inbox
Mar 27 13:44:33 pleroma-instance mix[6865]: ** (exit) an exception was raised:
Mar 27 13:44:33 pleroma-instance mix[6865]: ** (FunctionClauseError) no function clause matching in Pleroma.Web.ActivityPub.Transmogrifier.contain_origin_from_id/2
Mar 27 13:44:33 pleroma-instance mix[6865]: (pleroma) lib/pleroma/web/activity_pub/transmogrifier.ex:58: Pleroma.Web.ActivityPub.Transmogrifier.contain_origin_from_id("https://nerdica.net/profile/skin", [])
Mar 27 13:44:33 pleroma-instance mix[6865]: (pleroma) lib/pleroma/web/activity_pub/activity_pub.ex:972: Pleroma.Web.ActivityPub.ActivityPub.fetch_and_contain_remote_object_from_id/1
Mar 27 13:44:33 pleroma-instance mix[6865]: (pleroma) lib/pleroma/web/activity_pub/activity_pub.ex:816: Pleroma.Web.ActivityPub.ActivityPub.fetch_and_prepare_user_from_ap_id/1
Mar 27 13:44:33 pleroma-instance mix[6865]: (pleroma) lib/pleroma/web/activity_pub/activity_pub.ex:827: Pleroma.Web.ActivityPub.ActivityPub.make_user_from_ap_id/1
Mar 27 13:44:33 pleroma-instance mix[6865]: (pleroma) lib/pleroma/user.ex:1139: Pleroma.User.fetch_by_ap_id/1
Mar 27 13:44:33 pleroma-instance mix[6865]: (pleroma) lib/pleroma/user.ex:1162: Pleroma.User.get_or_fetch_by_ap_id/1
Mar 27 13:44:33 pleroma-instance mix[6865]: (pleroma) lib/pleroma/user.ex:1212: Pleroma.User.get_public_key_for_ap_id/1
Mar 27 13:44:33 pleroma-instance mix[6865]: (pleroma) lib/pleroma/web/http_signatures/http_signatures.ex:41: Pleroma.Web.HTTPSignatures.validate_conn/1
I've put
def contain_origin_from_id(_, []), do: :error
in lib/pleroma/web/activity_pub/transmogrifier.ex for now.