Adding federation support to Discourse

Hey guys, this is our Phase 2 spec, which is already being worked on

  • Support editing Note post-publication

  • Support restoring Notes

  • Support publishing posts publicly as well as followers only

    • Category-level setting
    • See further Audience Targeting and Mastodon’s docs on to/cc
    • Switch to public posts as the default
  • Support accepting Activities in reply to a Note made on remotes and publishing Activities in reply to a Note made in Discourse.

    • Publish Activities concerning replies made on Discourse

      • Allow Discourse users to be Actors
      • Create Note objects for Discourse replies (posts)
      • Publish associated Create/Delete/Update/Undo Activities for their equivalent Discourse actions
    • Accept Activities concerning replies made on remotes

      • Stage the Actors of Activities from remote servers as Discourse users
      • Create Discourse replies (posts) from Note objects
      • Convert associated Create/Delete/Update/Undo Activities into their equivalent Discourse actions
    • Add a category setting to toggle between First Post only (current) and “Full Topic” which supports reply Activities.

  • Support use of Article instead of Note as the Object for a post.

    • Category level setting
  • Support Like Activity

  • Improve Note content parsing

    • Handle special characters (perhaps use a different parser). See further.
  • Support Discourse users verifying their identity on Mastodon so Discourse posts created from their Toots are associated with their Discourse user account.

    • Allow a user to perform the Mastodon OAuth Authorization flow with the Mastodon server where their account is stored. This is initiated from the user’s Discourse account settings.
    • Using the Discourse user’s Mastodon access token, obtain and store the AP ID of their Mastodon account and store it with their Discourse account.
    • Associate all Discourse activities associated with AP Activities from an Actor bearing a Discourse user’s AP ID with that Discourse user, whether they were performed before or after the user verified their identity.
4 Likes