Original dislike:
{
"actor": "https://lemmy.ml/c/asklemmy",
"to": [
"https://www.w3.org/ns/activitystreams#Public"
],
"object": {
"id": "https://endlesstalk.org/activities/dislike/e1f82f6a-d49b-4dab-b444-36c382f13c5a",
"actor": "https://endlesstalk.org/u/freamon",
"@context": [
"https://www.w3.org/ns/activitystreams",
"https://w3id.org/security/v1",
{ ... },
...
}
],
"object": "https://midwest.social/post/7242862",
"type": "Dislike",
"audience": "https://lemmy.ml/c/asklemmy"
},
"cc": [
"https://lemmy.ml/c/asklemmy/followers"
],
"type": "Announce",
"id": "https://lemmy.ml/activities/announce/dislike/6896b8ce-026d-463a-a223-ec1a1d444e5c"
}
Undo of Dislike:
{
"actor": "https://lemmy.ml/c/asklemmy",
"to": [
"https://www.w3.org/ns/activitystreams#Public"
],
"object": {
"id": "https://endlesstalk.org/activities/undo/a9377c0b-074c-41de-ba99-51eeca323810",
"actor": "https://endlesstalk.org/u/freamon",
"@context": [
"https://www.w3.org/ns/activitystreams",
"https://w3id.org/security/v1",
{ ... },
...
}
],
"object": {
"actor": "https://endlesstalk.org/u/freamon",
"object": "https://midwest.social/post/7242862",
"type": "Like",
"id": "https://endlesstalk.org/activities/like/1f0b6132-547e-4fb5-8313-6f7b7f31be6b",
"audience": "https://lemmy.ml/c/asklemmy"
},
"type": "Undo",
"audience": "https://lemmy.ml/c/asklemmy"
},
"cc": [
"https://lemmy.ml/c/asklemmy/followers"
],
"type": "Announce",
"id": "https://lemmy.ml/activities/announce/undo/feedfdca-3392-4f7b-a3ce-2306d8981c5c"
}
The original Dislike activity (https://endlesstalk.org/activities/dislike/e1f82f6a-d49b-4dab-b444-36c382f13c5a) has a record at endlesstalk.org, but the Like object’s activity that’s been undone doesn’t (https://endlesstalk.org/activities/like/1f0b6132-547e-4fb5-8313-6f7b7f31be6b just returns ‘No record found’)
I got the same results when I tried this from lemmy.world (but I thought I’d try again from a 0.19 instance)
I found some references to this at the GitHub, but they were issues that were closed off as being fixed, so I don’t know what the situation is with this now.
I don’t think that’s the architecture of ActivityPub though. It’s not meant to be a queryable thing, or a datastore. It only sends deltas, and it’s your job to keep the data you care about and apply the changes as they come through. It’s why when an instance subscribes to a community it never has before there is no history, because it doesn’t have any. (I think Lemmy goes and gets one page though)
I would argue that I’m not asking it to be a queryable thing or a datastore. I wouldn’t expect a community’s ‘Accept’ of a ‘Follow’ to contain loads of data about past activity because that’s not a logical or practical thing to encapsulate. For an Undo though, there’s already a small, fixed-length encapsulated object inside, consistent with how ActivityPub is used for other circumstances. Since it’s there anyway, I don’t see the value in it containing incorrect, made-up data, when it may as well have the correct data.