this post was submitted on 13 May 2025
1 points (100.0% liked)

ActivityPub

0 readers
4 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 1 year ago
 

I'm wondering how content on threadiverse is automatically assigned its community when received by the software (e.g. PieFed, Lemmy, Mbin).

The answer I am expecting is "if the community is addressed (to, cc, audience), then it is slotted into that community".

However that causes issues for compatibility with microblogs... for example, [email protected] recently authored a post that mentioned [[email protected]](https://community.nodebb.org/category/[email protected]) and it got slotted into that community on NodeBB, which isn't correct since that group is private.

Better practice would be to only trust the addressed community if it is Announce'd by the community directly, but would fall short if my instance does not receive the Announce (say, if nobody follows the community), in which case we'd fall back to "uncategorized", which is where all microblog posts currently go. Then it's neither correct nor incorrect, I suppose.

I think this might be an issue where NodeBB tries to be too many things at once (microblog and threadiverse compatible).

top 10 comments
sorted by: hot top controversial new old
[–] [email protected] 1 points 1 month ago (1 children)

I think it's important to get an Announce, because the actor who addressed the community might be blocked by that community, or might not be a member of it (if the community is private).
You can try to retrieve the outbox of the addressed community to verify that a post was actually Announce'd

@activitypub

[–] [email protected] 1 points 1 month ago

[email protected] I thought about checking against the outbox, but there's a potential race condition that could occur if I receive the Create(Note) at roughly the same time as the community, but the community hasn't processed the activity yet. In that scenario, the activity would not be in the outbox for checking.

The same thing would happen if there was some out-of-band check for object membership in a collection (not that there is one right now).

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

I still think it would be good to update the synchronization function in admin settings to automatically slot any synced community/category into the local category, even if the sync only goes one way (e.g. with Lemmy not being able to remote follow category actors).

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

[email protected] it'll work better once cross-posting is built into NodeBB I think :smile:

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

@julian Does NodeBB support creating new topics by mentioning a group/category?

I wonder how context should be assigned in this case.

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

[email protected] yes, it should. Mentioning the category means it will be addressed and NodeBB will slot the received content in the first group object it finds.

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

If I create a topic this way, I will be the owner of the context collection. But if the conversation is to be moderated, it should be owned by the group.

Am I correct?

(there is a parallel discussion happening at https://codeberg.org/streams/streams/issues/229)

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

I suppose you're right in a way. The context owner is not supposed to be set by someone other than the context owner. It's a fallback mechanism intended for better compatibility with Mastodon.

When a group is addressed and it is one of the local NodeBB categories, it will assume control

If it is another group that it knows about but isn't same origin to the author, then no category is assumed.

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

How it works between forums, e.g. between Discourse and NodeBB?
Can a Discourse user create a topic in NodeBB category?
Who creates/owns the context collection in this case?

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

Is there or should there be a distinction between the original and the mirrors?

We have a conversation owner at the thread level (which is either the forum, subforum, forum category, or person who created the top level post, depending on the software). They determine the official moderated version of the thread since they can remove comments (although mirrors don't have to honor that).

If we show that conversation on another server, technically that is a mirror of that thread, especially if you are throwing it in a category or displaying it under a hashtag.

Should we be indicating that a particular thread was started on a particular forum (or category within a forum)? Should we be honoring the moderated version of the conversation from the original thread?

The concept of mirroring threads across platforms is great for participation and censorship resistance, but it does make it unclear about who owns the thread from a moderation perspective.