Skip to content

ActivityPub implementation #3186

Description

@mediaformat

Plan

Tentative plan for activitypub implementation and feature development

Overview

  • Sprint 1

    • Setup / Planning
    • Add new json_activity templates and endpoints (profiles, posts)
    • Add ActivityPub actor URI to webfinger
    • Add ActivityPub link-rel discovery to html templates
  • Sprint 2

    • Migrate annotations
    • Adapt/update existing annotations db querying code
    • Minimally implement http-foundation Request methods for use with landrok/activitypub
  • Sprint 3

    • Prepare actor inbox and sharedInbox endpoints and controller to receive remote Post requests
    • Add Followability / Followers Collection
    • Add Sending posts/updates/deletes to followers
    • Add cryptography (Generating Digests, HTTP Signatures)
  • Sprint 4

    • Add site configurable blocklist
    • Add user configurable blocklist
    • Add Incoming replies processing
  • Sprint 5

    • Add ability to Tag remote users / webfinger lookup
    • Add Replies collection to Posts

Additional context

Following up from #2615
This issue will be used to discuss some implementation approaches

Activity

  1. jeremycherfas commented on Jan 27, 2024

    @jeremycherfas

    I cannot speak to the specific steps, though I am pleased to see this making progress. The one feature I very much hope to see is a check-box so that one can decide on a per-post basis whether to federate a post.

  2. mediaformat commented on Jan 30, 2024

    @mediaformat
    ContributorAuthor

    @jeremycherfas I've created a new issue based on your comment, I hope you don't mind I tried to broaden the scope a bit.

    Were you considering a public post that DOES NOT federate? (Please follow up here #3187 )

  3. mediaformat commented on Feb 5, 2024

    @mediaformat
    ContributorAuthor

    Considering landrok/activitypub library relies on an http-fondation Request to work with incoming activities, I'm currently evaluating Streamlined Request/Response Interface .

  4. mediaformat commented on Feb 9, 2024

    @mediaformat
    ContributorAuthor

    @benwerd In light of #2461, I propose Sprint 2 should bring annotations into a separate table.

    My other concern is regarding the adoption of standard messaging interface re: #3029.

    Doing this seems worthwhile as it allows us to use some of the main features of landrok/activitypub:

    • an interface for receiving and verifying activities
    • some convenient methods for retrieving remote objects and traversing collections
  5. mediaformat commented on Aug 26, 2024

    @mediaformat
    ContributorAuthor

    Keeping an eye on HTTP Signature Verification issue in landrok/activitypub for Sprint 3.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions