Topics in the #threadiverse

We are thinking about topics a lot lately, so I have some questions how the #threadiverse is handling/supportinh it atm.

For WordPress we currently support one Group (topic) yet and that is the Blog-Author ( for example), but we plan to have more Groups (topics) in the future, like for example Categories and Tags. Is that supported by nodeBB, Lemmy or Discourse?

/cc @angus @devnull @nutomic

2 Likes I believe Angus is planning on exposing tags as actors.

At the end of the day they're all going to be Actors, and your logic only really needs to validate that it has an inbox and an outbox (confirmation on that would be great), and be resolvable via WebFinger.

NodeBB exposes end users and categories as actors, currently. While tags can be followed natively, I'm not sure how easily it would be to manage that since each tag would need its own webfinger handle. e.g. what happens to a tag that is named the same as a user?


Some additional thoughts:

  • Lemmy prefixes each community handle with an exclamation mark. I presume that means ! is not a valid character for usernames, at least the first character.
  • I thought I read somewhere that Flipboard let you chain together topics so you could follow multiple topics in one actor... haven't seen it in practice though.

But Lemmy seems to anly add the ! only in their own UI. For WebFinger it only works without, so there is still the issue with name collisions.

But it seems technically possible to use prefixes like ! or ~ActivityPub and WebFinger

@pfefferle Glad to hear you’re thinking of adding category and tag actors. That will work with Discourse, NodeBB and Lemmy, as long as you follow FEP-1b12 (which is what we’ve followed to support “taxonomy” actors)

We actually now do! The PR was merged 4 days ago:

In Discourse you select the ActivityPub username of the Actor while creating it and there’s a uniqueness check at that point, so in the case of such a conflict you’d have to make the new Actor’s name slightly different.

The only thing that really matters is that the ActivityPub username of the actor is unique on a domain, allowing Webfinger to work properly. A prefix is just one way to achieve that. You could do what the Discourse plugin does, i.e. ensuring preferredUsername uniqueness at the time of Actor creation.

I am assuming separation of concerns here. In the Discourse plugin ActivityPub usernames are, in some circumstances, initially populated from Discourse usernames (or category or tag names), but in all other respects are independent from them.


@angus we already do that with the blog user. The question is, what if it is in severyl groups? do we have use a collection for the audience field? Or do we need to change the “audience” in relation to the Announce?

1 Like

6 posts were split to a new topic: Overlapping taxonomies and the audience property