Skip to content

Any plans to add 'actor' to Create activities from nodebb users?

Uncategorized
  • I subscribed to activitypub@community.nodebb.org earlier, and got my first post. The activity looked like:

    {
      "@context": "https://www.w3.org/ns/activitystreams",
      "actor": "https://community.nodebb.org/category/30",
      "cc": [
        "https://community.nodebb.org/category/30/followers"
      ],
      "id": "https://community.nodebb.org/post/https%3A%2F%2Fcommunity.nodebb.org%2Fpost%2F102768#activity/announce/1737427447686",
      "object": {
        "cc": [
          "https://community.nodebb.org/uid/24276/followers"
        ],
        "id": "https://community.nodebb.org/post/102768#activity/create/1737427442685",
        "object": {
          "@context": [
            "https://www.w3.org/ns/activitystreams",
            {
              "Emoji": "toot:Emoji",
              "toot": "http://joinmastodon.org/ns#"
            }
          ],
          "attachment": [],
          "attributedTo": "https://community.nodebb.org/uid/24276",
          "audience": "https://community.nodebb.org/category/30",
          "cc": [
            "https://community.nodebb.org/uid/24276/followers"
          ],
          "content": "<p>Looking through my logs (snip).</p>\n",
          "context": "https://community.nodebb.org/topic/18546",
          "id": "https://community.nodebb.org/post/102768",
          "inReplyTo": null,
          "name": "User Agent Used for Federation?",
          "published": "2025-01-21T02:43:57.558Z",
          "replies": "https://community.nodebb.org/post/102768/replies",
          "source": {
            "content": "Looking through my logs (snip)",
            "mediaType": "text/markdown"
          },
          "summary": null,
          "tag": [],
          "to": [
            "https://www.w3.org/ns/activitystreams#Public"
          ],
          "type": "Note",
          "updated": null,
          "url": "https://community.nodebb.org/post/102768"
        },
        "to": [
          "https://www.w3.org/ns/activitystreams#Public"
        ],
        "type": "Create"
      },
      "to": [
        "https://www.w3.org/ns/activitystreams#Public"
      ],
      "type": "Announce"
    }
    

    As you can see, there's an 'actor' in the Announce (for the community), and 'attributedTo' in the Note (for the user), but no 'actor' in the Create part. I've not seen this behaviour on any other platforms - there's always an 'actor', with the same value as the 'attributedTo' field in the Note.

    I tried to reply to my account on another platform on post , but it didn't federate out (I don't know if having to wait for moderator approval affects this). Given that Announce normally just wraps the original object, it suggests that there'll also be no 'actor' in 'Create' when it's just 'Create/Note' being sent out, but I haven't been able to check. This is a bit inconvenient (for me at least), because I'm used to using that field to get the details of the user who signed the request, and it'll be a pain to have to dig into the Note's 'attributedTo' field to find it.

  • Oh, wait. You might be able to ignore me. My post was Announced, and that one did have an 'actor' in the Create part, so maybe it was just something unusual about the particular post I got.

    Edit: it looks like I was confusing myself - further posts from me are missing the Create actor, I'm guessing that this one looked like it did because I logged it after fixing it.

  • @freamon please let me know if this continues to be an issue. The Create should always have an actor, I agree.

  • @julian It's happened a few more times. I picked the smallest - the html is here

    The Announced activity was:

    {
      "@context": "https://www.w3.org/ns/activitystreams",
      "actor": "https://community.nodebb.org/category/4",
      "cc": [
        "https://community.nodebb.org/category/4/followers"
      ],
      "id": "https://community.nodebb.org/post/https%3A%2F%2Fcommunity.nodebb.org%2Fpost%2F102786#activity/announce/1737481723563",
      "object": {
        "cc": [
          "https://community.nodebb.org/uid/29326/followers"
        ],
        "id": "https://community.nodebb.org/post/102786#activity/create/1737481718170",
        "object": {
          "@context": [
            "https://www.w3.org/ns/activitystreams",
            {
              "Emoji": "toot:Emoji",
              "toot": "http://joinmastodon.org/ns#"
            }
          ],
          "attachment": [],
          "attributedTo": "https://community.nodebb.org/uid/29326",
          "audience": "https://community.nodebb.org/category/4",
          "cc": [
            "https://community.nodebb.org/uid/29326/followers"
          ],
          "content": "<p>another validation</p>\n",
          "context": "https://community.nodebb.org/topic/18551",
          "id": "https://community.nodebb.org/post/102786",
          "inReplyTo": null,
          "name": "nodebb to mastodon",
          "published": "2025-01-21T17:48:33.041Z",
          "replies": "https://community.nodebb.org/post/102786/replies",
          "source": {
            "content": "another validation",
            "mediaType": "text/markdown"
          },
          "summary": null,
          "tag": [],
          "to": [
            "https://www.w3.org/ns/activitystreams#Public"
          ],
          "type": "Note",
          "updated": null,
          "url": "https://community.nodebb.org/post/102786"
        },
        "to": [
          "https://www.w3.org/ns/activitystreams#Public"
        ],
        "type": "Create"
      },
      "to": [
        "https://www.w3.org/ns/activitystreams#Public"
      ],
      "type": "Announce"
    }