ActivityPub

0 readers
7 users here now

Focused discussion related to ActivityPub integration in NodeBB

founded 1 week ago
1
 
 

Among the fediverse there are microblogs (your Mastodons, Misskeys(+forks), etc.

Then there are the long form peeps. We managed to all find each other at FOSDEM 2025.

Pictured is @matt@writing.exchange (Write freely), @pfefferle@mastodon.social (WordPress), and yours truly (NodeBB). We also had some good conversations with @johnonolan@mastodon.xyz (Ghost), but I wasn't quick enough with my camera 😩

Let's move the state of long-form text on the open social web, forward!

1000007220.jpg

2
 
 

NodeBB will be making an appearance at this year's FOSDEM!

I'll like be present at the Social Web dev room during FOSDEM itself, and will be presenting a talk at the Social Web After Hours event alongside @darius@friend.camp, @pfefferle@mastodon.social, and @j12t@j12t.social at Hackerspace Brussels (HSBXL), on Sunday evening.

I'll be talking up the SWICG Forum and Threaded Discussions Task Force, and what we're working on to solve one of fedi's hard problems: combating the notion that "the fediverse is quiet". Come and listen!

Thank you to the great folks at @ngizero@mastodon.xyz, who have kindly funded my way there this year.

3
 
 

767e2ed4-8089-40ab-92a8-7fb2204b20bd-image.png

I thought that if I entered a Fediverse address here, like '@FrankM@nrw.social,' it would follow that user, and their posts would then appear in the corresponding category.

But that's not happening. There's also no meaningful error message. The actor you see in the image probably appears because I entered an incorrect address.

Does this feature need to be enabled on the Fediverse instance 'nrw.social'?

Who can help?

4
 
 

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.

5
 
 

Will this work?