Federation support for Discourse

This. Possibly also integrating remote “Like” actions.

I have noticed that the Fediverse has become noticeably more active and more populous since Elon Musk started his Twitter takeover bid.

On the Discourse instances I run (three of them at the moment) I’d love to be able to use Mastodon (in my case) to be able to follow and “boost” them to a wider audience, to make the information on my instances more accessible and visible to a crowd of others who might care. All of my instances are for expanding the scope of public knowledge on various topics, and rich sharing support through ActivityPub integration would be helpful to achieve that goal.

Converting RSS to ActivityPub wouldn’t help much.

If this were my project, it would be in phases and start simple:

  1. Publish-only: Categories as Actors, including reply posts on topics properly threaded with inReplyTo. These are sent to followers on a per-post basis at the same time that, for example, posts are forwarded to chat integrations. This would require publishing (at least some) categories as Actors and storing Followers for each Actor. These category Actors would not follow or like. No authenticated access would be used. It would honor Like, Block, and Undo Activities. Perhaps also an Actor for the whole server, to easily follow all activity on the server.
  2. Minimal bidirectional: Optionally, accept remote Like actions.
  3. More bidirectional: Interact with Announce actions (i.e. sharing, reposting, boosting), either adding them as likes or displaying them separately.
  4. User interaction: Optionally, webfinger support for users, to enable following the users as Actors to see all their posts. Further optionally, limited by group (I might want to limit it to TL2, for instance), the ability to engage in PMs with external ActivityPub Actors. This could possibly implement the user’s collection of liked posts (at least public ones) in the liked collection.
  5. Textually bidirectional: Optionally, non-member responses via ActivityPub accepted as comments — but this one is tricky because it would naively reflect it back out as a new post, so followers would see it twice. Probably it would require posts marked with their external reference and not posted to followers’ inboxes.

I would explicitly not want to support “following” ActivityPub Actors from within Discourse; making Discourse into a (e.g.) Mastodon clone seems like quite a waste all around. In the language of the ActivityPub spec, it would not be a “ActivityPub conformant Federated Server” and that’s OK. Also the client portion of the protocol just has no place in this plan.

6 Likes