hyphacoop / distributed-press-organizing

15 stars 1 forks source link

Shares and Likes collections for activities #181

Closed fauno closed 1 week ago

fauno commented 1 month ago

According to the spec, activities may have Likes and Shares collections, containing the respective Like and Announce activities.

Mastodon (I don't know about others) don't provide these collections and probably doesn't pull it, but it'd be really useful to haven them available anyway because the Jekyll components we're developing can list the likes and shares and right now we would have to fetch the whole inbox, filter by activity and then filter by Announce and Like to find this information.

These collections should work similarly to Actor's followers collection, where apsystem.hasPermissionActorRequest() === false will only return the count, but apsystem.hasPermissionActorRequest() === true the entire collection, but indexed by activities, like their replies collection.

fauno commented 1 month ago

I can't assign a milestone @sutty-coop

sutty-coop commented 1 month ago

I was able to assign a milestone just now, since I transferred the issue from hyphacoop/social.distributed.press to hyphacoop/distributed-press-organizing

RangerMauve commented 1 month ago

I'm gonna tackle this with the goal of releasing early next week.

fauno commented 1 month ago

@RangerMauve here are some activities. just noticed Like isn't addressed!

[
  {
    "@context": "https://www.w3.org/ns/activitystreams",
    "id": "https://mastodon.uy/users/nurashimi/statuses/112848925638136866/activity",
    "type": "Announce",
    "actor": "https://mastodon.uy/users/nurashimi",
    "published": "2024-07-25T20:05:52Z",
    "to": [
      "https://www.w3.org/ns/activitystreams#Public"
    ],
    "cc": [
      "https://compost.testing.sutty.nl/about.jsonld",
      "https://mastodon.uy/users/nurashimi/followers"
    ],
    "object": "https://compost.testing.sutty.nl/qubit-guarantee.jsonld"
  },
  {
    "@context": "https://www.w3.org/ns/activitystreams",
    "id": "https://todon.nl/users/ladatano/statuses/112848843937642029/activity",
    "type": "Announce",
    "actor": "https://todon.nl/users/ladatano",
    "published": "2024-07-25T19:45:05Z",
    "to": [
      "https://www.w3.org/ns/activitystreams#Public"
    ],
    "cc": [
      "https://compost.testing.sutty.nl/about.jsonld",
      "https://todon.nl/users/ladatano/followers"
    ],
    "object": "https://compost.testing.sutty.nl/qubit-guarantee.jsonld"
  }
]
[
  {
    "@context": "https://www.w3.org/ns/activitystreams",
    "id": "https://mastodon.uy/users/nurashimi#likes/342072",
    "type": "Like",
    "actor": "https://mastodon.uy/users/nurashimi",
    "object": "https://compost.testing.sutty.nl/qubit-guarantee.jsonld",
    "published": "2024-07-25T20:05:51.106Z"
  },
  {
    "@context": "https://www.w3.org/ns/activitystreams",
    "id": "https://todon.nl/users/ladatano#likes/3766110",
    "type": "Like",
    "actor": "https://todon.nl/users/ladatano",
    "object": "https://compost.testing.sutty.nl/qubit-guarantee.jsonld",
    "published": "2024-07-25T19:45:06.009Z"
  }
]