I'm testing ActivityPub C2S implementation using AndStatus app ( https://github.com/andstatus/andstatus#readme ).
Expected: According to https://www.w3.org/TR/activitypub/#create-activity-outbox response should be an Activity wrapping a note. Actual result: only a Note object is returned, no Activity.
This causes activities duplication at a client side, as the initial "Create" activity doesn't get an id from a server.
Example: the note https://andstatus-testing.microblog.pub/o/4e6e10825ea0439eb7ee99d773b7a0e4
was sent with this payload:
{
"@context": "https:\/\/www.w3.org\/ns\/activitystreams",
"type": "Create",
"to": [
"https:\/\/www.w3.org\/ns\/activitystreams#Public",
"https:\/\/andstatus-testing.microblog.pub\/followers",
"acct:AndStatus@mastodon.social"
],
"actor": "https:\/\/andstatus-testing.microblog.pub",
"object": {
"attributedTo": "https:\/\/andstatus-testing.microblog.pub",
"type": "Note",
"to": [
"https:\/\/www.w3.org\/ns\/activitystreams#Public",
"https:\/\/andstatus-testing.microblog.pub\/followers",
"acct:AndStatus@mastodon.social"
],
"content": "A note mentioning #Mastodon account @AndStatus@mastodon.social"
},
"loggedURL": "https:\/\/andstatus-testing.microblog.pub\/outbox"
}
and the response was:
{
"@context": [
"https:\/\/www.w3.org\/ns\/activitystreams",
"https:\/\/w3id.org\/security\/v1",
{
"Hashtag": "as:Hashtag",
"sensitive": "as:sensitive",
"manuallyApprovesFollowers": "as:manuallyApprovesFollowers",
"alsoKnownAs": {
"@id": "as:alsoKnownAs",
"@type": "@id"
},
"movedTo": {
"@id": "as:movedTo",
"@type": "@id"
},
"toot": "http:\/\/joinmastodon.org\/ns#",
"featured": {
"@id": "toot:featured",
"@type": "@id"
},
"Emoji": "toot:Emoji",
"blurhash": "toot:blurhash",
"votersCount": "toot:votersCount",
"schema": "http:\/\/schema.org#",
"PropertyValue": "schema:PropertyValue",
"value": "schema:value",
"ostatus": "http:\/\/ostatus.org#",
"conversation": "ostatus:conversation"
}
],
"type": "Note",
"id": "https:\/\/andstatus-testing.microblog.pub\/o\/4e6e10825ea0439eb7ee99d773b7a0e4",
"attributedTo": "https:\/\/andstatus-testing.microblog.pub",
"content": "<p>A note mentioning <a href=\"https:\/\/andstatus-testing.microblog.pub\/t\/mastodon\" class=\"mention hashtag\" rel=\"tag\">#<span>Mastodon<\/span><\/a> account <span class=\"h-card\"><a href=\"https:\/\/mastodon.social\/@AndStatus\" class=\"u-url mention\">@AndStatus@mastodon.social<\/a><\/span><\/p>\n",
"to": [
"https:\/\/www.w3.org\/ns\/activitystreams#Public"
],
"cc": [
"https:\/\/andstatus-testing.microblog.pub\/followers",
"https:\/\/mastodon.social\/users\/AndStatus"
],
"published": "2023-01-29T19:13:43Z",
"context": "https:\/\/andstatus-testing.microblog.pub\/contexts\/8312ee2f4b474248b6fad147b80fdcf8",
"conversation": "https:\/\/andstatus-testing.microblog.pub\/contexts\/8312ee2f4b474248b6fad147b80fdcf8",
"url": "https:\/\/andstatus-testing.microblog.pub\/o\/4e6e10825ea0439eb7ee99d773b7a0e4",
"tag": [
{
"href": "https:\/\/andstatus-testing.microblog.pub\/t\/mastodon",
"name": "#mastodon",
"type": "Hashtag"
},
{
"type": "Mention",
"href": "https:\/\/mastodon.social\/users\/AndStatus",
"name": "@AndStatus@mastodon.social"
}
],
"summary": null,
"inReplyTo": null,
"sensitive": false,
"attachment": []
}