ActivityPub Implementation

The ActivityPub standard is currently the most common and popular protocol for sharing information between users on various websites. Emissary currently supports the following Activities defined in the ActivityPub spec. Other unrecognized activities are ignored.

Supported Activities

Activity Sending Receiving
Accept/Follow When Emissary receives a follow request, it adds a new “Follower” record andsends a corresponding Accept activity to the original server. When Emissary receives an Accept activity tied to a Follow activity, it mark the corresponding Following record as active. Other forms of Accept are ignored.
Block When users Block another account online, they may choose to publish it to their followers.
Blocks are not updated, but may be deleted and reapplied.
When Emissary receives a Block notification from a followed account, the block MAY be imported based on user-defined rules. The default behavior is to label future posts from that account.
Create Emissary’s publisher service sends Create activities to all followers whenever a new Stream is created. The object type is determined by the socialRole declared in Stream’s Template. When Emissary receives a “Create” activity, it adds a new message to that user’s Inbox.
Delete Emissary’s publisher service sends a Delete activity to all followers whenever a Stream is unpublished. When Emissary receives a Delete activity, it soft-deletes the corresponding message from the User’s inbox.
Follow Emissary sends a Follow activity to a remote Inbox whenever a person requests to follow another ActivityPub Actor. When Emissary receives a Follow activity, it validates the request, creates a new Follower record in the user’s inbox, and then sends a corresponding Accept message to the originating server. Emissary does not currently allow user’s to manually approve/disapprove follow requests.
Undo/Follow Emissary sends an Undo activity whenever a user deletes a Following record in their profile. When Emissary receives an Undo activity linked to a follow request, it deletes the corresponding Follower record from that user’s profile.
Update Emissary’s publisher service sends an Update activity whenever a currently-published Stream is published again. When Emissary receives an Update activity, it updates the corresponding message in that user’s Inbox.

Object Types Created

Emissary is a programmable platform for creating all kinds of content. This means that the specific ActivityPub object types it creates are up to the templates installed on that server. However, the default templates included with Emissary will generate Article and Note objects

Type Templates
Article Created by default “Article” templates (WYSIWYG, Markdown, and HTML). Articles are commonly used for blog posts and general website pages
Note Created by default outbox templates. Notes are posted to Users’ profile pages as status updates, like other micro-blogging platforms.

Object Types Received

Emissary will import any object type that is sent to it, looking only at the content of the message and ignoring the message type itself.