this post was submitted on 25 Mar 2025
0 points (NaN% liked)

ActivityPub

0 readers
1 users here now

Focused discussion related to ActivityPub integration in NodeBB


This is a forum category containing topical discussion. You can start new discussions by mentioning this category.

founded 3 months ago
 

Happy Tuesday!

Today we've updated the NodeBB community forum onto the remote-categories testing branch, which means that users on the open social web that identify themselves as "Groups" will be rendered in NodeBB as categories. Prior to this, they looked like users.

Here are some examples of remote categories:

ActivityPub "groups" and forum categories have quite a few things in common — they don't usually post topic themselves, they "contain" topics, and they are usually administered by a separate group of users (moderators!) In many ways, these groups lend themselves to categories much more easily than they do as users.

Notes:

  • We will likely be releasing this as v4.3.0-alpha this Wednesday. Probably this means you don't want this on a live forum just yet.
  • A lot of the backend logic is complete, but a lot of the frontend UX will be worked on.
  • You can "search" for categories (via "in categories" in the search page), paste the full handle in order to instruct NodeBB to pull a new category in.
  • You can now no longer mention a remote category. Instead, create your topic right in that category itself. As it should be :smirk_cat: .
  • Remote content coming in that is slotted into a remote category will still show up in your "world" feed. That is still intended to be where discovery of content outside the local NodeBB instance will take place.
  • Report any bugs or confusing behaviours (and there will be some) here.

Screenshots

4872fc8c-a679-4968-9daf-84bedb8bf237-image.png

08c3972a-6c7e-4cef-937c-0c4830770a8a-image.png

you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 1 points 3 weeks ago* (last edited 3 weeks ago) (1 children)

@julian How do you deal with situations where the group actor also sends posts?

For example, on Hubzilla, (streams), and Forte, the top level post of a forum thread is from the forum, not the user. This was originally done for Mastodon compatibility since it did not understand threaded conversations and groups. They could follow the forum as if it were a user, and receive all of the forum posts. They could send a DM to the forum to create a new post.

NodeBB took a different approach, using boosts to distribute user posts to people who follow the forum. And I think you said you use mentions within a post to create a new top level post.

How are we handling the differences in approaches?

[–] [email protected] 1 points 3 weeks ago* (last edited 3 weeks ago) (3 children)

@[email protected] can you share an example of a group actor from Hubzilla? Would be interesting to see how that's handled. Likely it wouldn't work properly because categories in NodeBB don't author posts.

Do your group actors send creates on behalf of regular users? That might work ok.

Lastly, there's no requirement that a NodeBB category be mentioned. It only needs to be addressed. A mention is the easiest way to do that because you addressing is abstracted out of the Mastodon UI.

But for things like PieFed, Lemmy, Mbin, and likely Hubzilla, you're able to change addressing based on where you create the post.

[–] [email protected] 2 points 3 weeks ago

@julian

But for things like PieFed, Lemmy, Mbin, and likely Hubzilla, you're able to change addressing based on where you create the post.

Yes, in Hubzilla, we can click on the padlock and select who the post is addressed to, including NodeBB forums. I haven't tried it yet, but Hubzilla does recognize NodeBB categories as "forums."

[–] [email protected] 1 points 3 weeks ago (1 children)

@julian I'm not sure. They changed things in the last major version when they adopted FEP 171b Conversation Containers.

Some examples of forum channels are @Hubzilla Support Forum and @Neuhub Support Forum.

[–] [email protected] 2 points 3 weeks ago

By the way, we also have a test forum set up here: @Neuhub Test Forum

#^https://neuhub.org/channel/testforum

[–] [email protected] 1 points 3 weeks ago (1 children)

@julian I just tried posting five different posts from Hubzilla to @Testing Ground via various methods, and none are showing up.

  1. Post from a group actor, selecting audience from list.
  2. Post from a group actor, using a mention.
  3. Post from a normal actor, selecting audience from list.
  4. Post from a normal actor, using a mention.
  5. Post from a normal actor, posting to a Hubzilla Forum (group actor) and mentioning the NodeBB category in the post.

I am not sure if that forum is moderated, but none of my posts are showing up.

[–] [email protected] 1 points 3 weeks ago (1 children)

#^https://community.nodebb.org/inbox delivery rejected: 403 Forbidden 2025-03-30 22:51:57
#^https://community.nodebb.org/inbox delivery rejected: 403 Forbidden 2025-03-30 23:28:55

[–] [email protected] 1 points 3 weeks ago (5 children)

@[email protected] Hubzilla is formatting its Notes in a manner I wasn't expecting.

  • The group actor is the attributedTo, which is not possible in NodeBB
  • The note itself is not addressed to the group actor, only its followers collection
  • There is no way to discern without parsing the note content itself who authored the original note.

So at present while I would be able to retrieve the note, without a proper backreference to the group actor, I don't think I can slot it correctly.

Not sure why the received activity is returning a 403, as well.

[–] [email protected] 2 points 3 weeks ago (1 children)

@julian we have recently rewritten the addressing logic and it seems mapping the mentions to to for public toplevel posts has fallen short. After fixing this it seems to work fine now: #^https://community.nodebb.org/topic/cbbf1640-2295-4fc5-b86f-5b1fd259cccb/test2

@Scott M. Stolz

[–] [email protected] 1 points 3 weeks ago

@[email protected] that's wonderful to hear! Thank you so much.

[–] [email protected] 1 points 3 weeks ago

Forgot to cc @[email protected] re: the above.

[–] [email protected] 1 points 3 weeks ago

@julian I saw a NodeBB test on Hubzilla Monster. I'm guessing that was you.

In order for you to properly mention someone, the Hubzilla server needs to know about that actor first. The easiest way to achieve this is to follow (connect to) that actor. This adds the actor to the database. This only needs to be done if no one on the server is following them or being followed by them.

This does create an extra step if the actor is unknown to the server, but it does force spammers to follow unknown actors before they can mention them.

[–] [email protected] 1 points 3 weeks ago

@julian @Mario Vavti That is one thing that I wish Hubzilla did, and that is identify the author of the original note (top level post in a forum), both internally in the database and in a variable available to themes, and externally via Zot protocol and ActivityPub.

[–] [email protected] 1 points 3 weeks ago (3 children)

@julian in Hubzilla the group actor will fork the original post with a quote reshare. Hence attributedTo is set to the group actor. IIRC the author of the original post is being stored for refernce but we currently do not use this info.

@Scott M. Stolz

[–] [email protected] 1 points 3 weeks ago (1 children)

@[email protected] since Hubzilla posts (incl. yours) are making it in fine I'm assuming this is only for the "forum" feature?