Skip to content

ActivityPub integration &337 #2602

Mark Harding requested to merge feat/e-337-activitypub into master

Ticket(s) / Related Merge Requests

#2602 (closed)

Summary of Changes

This is the ground work for ActivityPub on Minds.

Testing Considerations

Test against other fediverse sites. You should be able to visit the profile pages of fediverse sites from Minds (when logged in).

Deployment Considerations

Vitess needs the following schemas:


CREATE TABLE IF NOT EXISTS minds_activitypub_uris (
    uri varchar(256) NOT NULL PRIMARY KEY,
    domain varchar(256) NOT NULL,
    entity_urn varchar(256) NOT NULL,
    entity_guid bigint NOT NULL UNIQUE
);


CREATE TABLE IF NOT EXISTS minds_activitypub_actors (
    uri varchar(256) NOT NULL PRIMARY KEY,
    `type` text NOT NULL,
    inbox text NOT NULL,
    outbox text NOT NULL,
    shared_inbox text DEFAULT NULL,
    url text DEFAULT NULL,
    FOREIGN KEY (uri) REFERENCES minds_activitypub_uris(uri)
);

CREATE TABLE IF NOT EXISTS minds_activitypub_keys (
    user_guid bigint NOT NULL PRIMARY KEY,
    private_key text NOT NULL 
);

ALTER TABLE minds_comments
    ADD source text DEFAULT NULL
        AFTER access_id; 

ALTER TABLE minds_comments
    ADD canonical_url text DEFAULT NULL
        AFTER source;

Cassandra needs the following schemas:

ALTER TABLE comments ADD parent_guid bigint;
ALTER TABLE comments ADD source text;
ALTER TABLE comments ADD canonical_url text;

Regression Scope

Comment have been modified slightly to store the canonical urls and to reference the federation source of the entity. There may be issues in this area.

Platform Affected (web, mobile, etc)

Developer Testing Completed

Screenshots / Screen Recording

Does this impact

  • Localization
  • Dark/light mode
  • Guest mode

Definition of Done Checklist

  • The Acceptance Criteria has been met
  • Code is tested: Testing includes unit/spec, E2E/automated and manual testing
  • Merge requests description has been filled out
Edited by Mark Harding

Merge request reports