Thanks nightpool. The argument with bcc, bto makes sense.
That said, I would like to see the presumption of privacy for these Like activities upheld a little bit more within Mastodon, and then use as:Public
to signal which like activities are okay to display publicly e.g. as a list. From that perspective these activities (if Mastodon does generate them without any kind of âpublicâ indicator at all) are suboptimal
This means that I should add a cc entry with as:Public
to symbolize that it is ok to show the information that I liked something. Iâve included it in the sample Like Activity below. A privacy best practice implementation would display at most:
- With the cc: Show the author a notification, I liked his content
- and increment the like count
- and display my name in the list of likers for the public
- and include my activity in the
liked
collection of the original activity for the public
- Without the cc: Show the author a notification, I liked his content
- and increment the like count
{
"@context": "https://www.w3.org/ns/activitystreams",
"type": "Like",
"id": "https://mymath.rocks/activitypub/helge/like-c62dab9f-34fb-4940-bb72-98e8872f96be",
"actor": "https://mymath.rocks/activitypub/helge",
"content": "đź",
"object": "https://i.calckey.cloud/notes/9ajhcxg0lu",
"to": ["https://i.calckey.cloud/users/99is5hpneh"],
"cc": ["https://www.w3.org/ns/activitystreams#Public"]
}
Final comment: I fought with myself with the formulations above, as I donât think showing like counts can be considered best practice. They are hard to federate across different instances, and lead to unnecessary gamification.
Final final comment: I never expected a Like Activity to be THIS complicated before starting to implement bovine. Iâll try to make this type of choices somewhat transparent in it. But that requires more thinking.
Edit to record it somewhere:
A like from Friendica, I tried to censor a bunch of stuff.
{
"@context": [
"https://www.w3.org/ns/activitystreams",
"https://w3id.org/security/v1",
{
"Hashtag": "as:Hashtag",
"PropertyValue": "schema:PropertyValue",
"conversation": "ostatus:conversation",
"dfrn": "http://purl.org/macgirvin/dfrn/1.0/",
"diaspora": "https://diasporafoundation.org/ns/",
"directMessage": "litepub:directMessage",
"discoverable": "toot:discoverable",
"featured": {
"@id": "toot:featured",
"@type": "@id"
},
"litepub": "http://litepub.social/ns#",
"manuallyApprovesFollowers": "as:manuallyApprovesFollowers",
"quoteUrl": "as:quoteUrl",
"schema": "http://schema.org#",
"sensitive": "as:sensitive",
"toot": "http://joinmastodon.org/ns#",
"value": "schema:value",
"vcard": "http://www.w3.org/2006/vcard/ns#"
}
],
"actor": "https://venera.social/profile/manolo_ssa",
"cc": [
"https://social.network.europa.eu/......",
"https://mymath.rocks/activitypub/helge/followers",
"https://venera.social/followers/......"
],
"diaspora:guid": ........",
"diaspora:like": "{\"author\":\"......@venera.social\",\"guid\":\"......\",\"parent_guid\":\".......\",\"parent_type\":\"Comment\",\"positive\":\"true\",\"author_signature\":\".......\"}",
"id": "https://venera.social/.......",
"instrument": {
"name": "Friendica 'Giant Rhubarb' 2023.01-1502",
"type": "Service",
"url": "https://venera.social"
},
"object": "https://mymath.rocks/activitypub/helge/42581f32-cc7b-419e-b3a5-7b4ea9f1b1b2",
"published": "2023-01-29T08:52:18Z",
"signature": {
"created": "2023-01-29T08:52:29Z",
"creator": "https://venera.social/.....#main-key",
"nonce": "6.....",
"signatureValue": ".......",
"type": "RsaSignature2017"
},
"to": [
"https://mymath.rocks/activitypub/helge",
"https://www.w3.org/ns/activitystreams#Public"
],
"type": "Like"
}