Reactions Extension

The Reactions Extension allows users to express their reactions ("react") to posts with emojis.

Federation

User reactions are (like every other entity) federated to all followers, and can be displayed to clients depending on the privacy settings of the associated Note.

Entity Definition

  • Name
    type
    Required
    Required
    Type
    string
    Description

    Must be pub.versia:reactions/Reaction.

  • Name
    author
    Required
    Required
    Type
    URI
    Description

    URI of the User that is reacting.

  • Name
    object
    Required
    Required
    Type
    URI
    Description

    URI of the Note attached to the reaction.

  • Name
    content
    Required
    Required
    Type
    string
    Description

    Emoji content of reaction. May also be arbitrary text, or Custom Emoji if supported.

    Clients are encouraged to disfavour text in favour of emoji where possible.

Example Entity

{
    "id": "6f27bc77-58ee-4c9b-b804-8cc1c1182fa9",
    "type": "pub.versia:reactions/Reaction", 
    "uri": "https://example.com/actions/6f27bc77-58ee-4c9b-b804-8cc1c1182fa9",
    "created_at": "2021-01-01T00:00:00.000Z",
    "author": "https://example.com/users/6e0204a2-746c-4972-8602-c4f37fc63bbe", 
    "object": "https://example.com/publications/f08a124e-fe90-439e-8be4-15a428a72a19",
    "content": "😀",
}

Extensions to Note

The Reactions Extension extends the Note entity with the following fields:

  • Name
    reactions
    Required
    Required
    Type
    array
    Description

    URI to a Collection of the Reactions attached to the note.

Example Note

{
    "id": "01902e09-0f8b-72de-8ee3-9afc0cf5eae1",
    "type": "Note", 
    "uri": "https://versia.social/notes/01902e09-0f8b-72de-8ee3-9afc0cf5eae1",
    "created_at": "2024-06-19T01:07:44.139Z",
    "author": "https://versia.social/users/018eb863-753f-76ff-83d6-fd590de7740a",
    "category": "microblog",
    "content": {
        "text/plain": {
            "content": "Bababooey."
        }
    },
    "extensions": { 
        "pub.versia:reactions": {
            "reactions": "https://versia.social/notes/01902e09-0f8b-72de-8ee3-9afc0cf5eae1/reactions"
        }
    },
    "group": "public",
    "is_sensitive": false,
    "mentions": [],
}