Roadmap for the official Discourse ActivityPub plugin?

In another thread @tobiaseigen wrote:

There are quite a few issues and rough edges. It would be good to know more about future plans, if there are any. There may be people interested to work on furthering federation of Discourse in some form or other. See below. I created this thread on SocialHub, so it federates out to Discourse Meta and the broader fediverse.

3 Likes

Just popping in to confirm that I've done the initial work for proper group federation of Discourse, but it still sits in a private repo. Too much going on irl atm, hope to find the time (and mostly concentration!) to test and publish it.

2 Likes

@panos What do you mean by proper group federation?

In my experience, group federation works well in Discourse. Most of the bugs that we identified during the test drive at SocialHub have been fixed.

I can name only one major issue that still remains, incorrect timestamps in old threads: https://meta.discourse.org/t/activitypub-plugin/266794/487

In short, I mean what NodeBB, Lemmy etc do, federation of users, posts and comments. Perhaps there is a better way to express it.

These services implement FEP-1b12: Group federation, but so does the Discourse AP plugin... Have you discovered any interoperability issues?

It just has some limitations, but I'm travelling atm - will get back to this after the weekend

Found some time earlier than expected, so here are the basic differences of my fork:

- It makes each federated category/tag behave much more like a real Lemmy community (Group actor), including its moderators, featured posts, follower rules, and shared inbox.
- A Discourse topic can be sent as a Lemmy-compatible Page (with replies as Notes), rather than only the formats upstream offers.
- Votes federate: remote upvotes/downvotes become Discourse likes, and the federated score is shown on posts.
- Moderation federates in both directions: removals, bans, locks, moderator changes, reports, and featured/pinned posts can be communicated to compatible remote communities.
- Discourse users become proper, followable ActivityPub people. Mentions are also resolved for federation.
- It can follow a remote community—for example on Lemmy or NodeBB—and present it inside Discourse as a local “shadow category.” Local users can then read and participate from Discourse.
- It adds an instance-level actor and optional “authorized fetch,” which can require signed ActivityPub requests when other servers retrieve content.
- Administrators get extra tools: community/federation health view, remote-community management, per-community ban management, URL/content resolution, and bulk republishing/backfill.

1 Like

Wow, you said you had done the “initial work”, but this looks like a quite substantial improvement and functional extension. Very nice! Are the changes intended to be PR’ed to the Discourse AP plugin, or will this be an independent project?

2 Likes

I have tried contacting Angus (the maintainer of the official plugin) on the Discourse meta forum, but got no response, so I think this will be an independent project.

I can CC @angus here, as he is also a SocialHub member (and this will also carry over to Discourse Meta as another mention, I think).

1 Like

(and I said "initial work" because I haven't tested it on a live instance, it will probably need corrections - if anyone wants to test and provide feedback lmk)

1 Like

I have not heard from Angus for nearly a year. The current maintainer seems to be @pmusaraj

@aschrijver not anymore, because they removed the activitypub plugin from meta. Pretty sure Angus is on socialhub though.

1 Like