Post Aul0VdYuu0O2MsSAdc by steve@social.technoetic.com
(DIR) More posts by steve@social.technoetic.com
(DIR) Post #Aul0VdYuu0O2MsSAdc by steve@social.technoetic.com
2025-06-03T14:44:53Z
0 likes, 0 repeats
#ActivityPub trick question. If a C2S client actor identified by “http://bar.example/actor” posts {“id”: “https://foo.example/something”} to its *outbox* server endpoint, is that valid? Why or why not? If the answer is “it depends”, it depends on what?
(DIR) Post #Aul0Vf834s5DE7tk2K by silverpill@mitra.social
2025-06-03T15:17:10.023219Z
0 likes, 0 repeats
@steve The server can't do anything with it (because type and/or other properties are not present), and can't deliver it to other servers (because audience is not specified). It is useless, but probably valid.
(DIR) Post #Aul2BzqKYKg1aUMR2e by steve@social.technoetic.com
2025-06-03T15:22:59Z
0 likes, 0 repeats
@silverpill The server can dereference the `id`. That object may have properties that support delivery and other useful behaviors.
(DIR) Post #Aul2C0nX0E22Y63iJk by silverpill@mitra.social
2025-06-03T15:36:01.647247Z
0 likes, 0 repeats
@steve In ActivityPub, it can't:If an Activity is submitted with a value in the id property, servers MUST ignore this and generate a new id for the Activity.-- https://www.w3.org/TR/activitypub/#client-to-server-interactionsBut if the server is not strictly compliant, then yes, it can treat the object as an inbox delivery and retrieve it from origin.
(DIR) Post #Aul340S0Ve8b6rjnaS by steve@social.technoetic.com
2025-06-03T15:38:04Z
0 likes, 0 repeats
@silverpill Why do think this is an activity ID?
(DIR) Post #Aul341jlj5wJ6F3UuW by silverpill@mitra.social
2025-06-03T15:45:50.761983Z
0 likes, 0 repeats
@steve What else could it be?ActivityPub talks about POSTing activities and objects, in both cases the id MUST be replaced.
(DIR) Post #AulE5d4nU6zsgrrFQG by steve@social.technoetic.com
2025-06-03T16:03:16Z
0 likes, 0 repeats
@silverpill It could be a non-activity object. Replacing an existing object (vs activity) ID during a C2S Create (implicit or otherwise) is apparently not required (the wording in the spec is a bit vague, of course). See the related “conceptual trickiness” @evanprodromou discusses in his ActivityPub book.
(DIR) Post #AulE5e9nT0ag2fCkr2 by silverpill@mitra.social
2025-06-03T17:49:22.246560Z
0 likes, 0 repeats
@steve Non-activity objects are wrapped in Create and their identifiers are replaced. This requirement is not vague, it's an RFC-2119 MUST:https://www.w3.org/TR/activitypub/#object-without-createWhat is "conceptual trickiness" and how it is related to this case?
(DIR) Post #AulJpDjqWRBDCKcK9o by steve@social.technoetic.com
2025-06-03T18:30:01Z
0 likes, 0 repeats
@silverpill See the AP book for clarification of intent, but the vague wording is “attach” vs “replace”.
(DIR) Post #AulJpFHCntSTy5ETnE by silverpill@mitra.social
2025-06-03T18:53:37.456284Z
0 likes, 0 repeats
@steve I don't have that book and I don't see how it could be relevant. "Intent" doesn't matter here, only text matters, and the text is quite clear. Obviously, you can't attach id without replacing it. If the book says something different, it's bullshit.