Reaction Announcement

A Reaction Announcement is for publishing emoji reactions to anything with a DSNP Content URI.

Fields

FieldDescriptionData TypeSerializationParquet TypeBloom Filter
announcementTypeAnnouncement Type Enum (4)enumdecimalINT32no
emojithe encoded reactionUTF-8UTF-8UTF8YES
applyhow to apply the reaction8-bit unsigned integerdecimalUINT_8no
fromIdid of the user creating the relationship64-bit unsigned integerdecimalUINT_64YES
inReplyToTarget DSNP Content URIUTF-8UTF-8UTF8YES

Field Requirements

announcementType

  • MUST be fixed to 4

emoji

  • Emoji fields must not be empty
  • Emoji fields must consist only of Unicode points from U+2000 to U+2BFF, from U+E000 to U+FFFF, or from U+1F000 to U+10FFFF

Examples

All of the following should be considered valid emojis:

"😀", "🤌🏼", "👩🏻‍🎤", "🧑🏿‍🏫", "🏳️‍🌈", "🏳️‍⚧️", "⚛︎", "🃑", "♻︎"

None of the following should be considered valid:

"F", ":custom-emoji:", "<custom-emoji>", "ᚱ", "ᘐ", "״"

apply

  • MUST be an UINT_8
  • Indicates whether the emoji should be applied and if so, at what "strength".

Potential uses:

  • a single reaction
  • ratings
  • a range of responses, e.g. "strongly disagree" --> "strongly agree" = 1 --> 5 stars.
  • recommendation engines

Apply Enums

ValueNameDescription
0retractRemove the referenced emoji
napplyApply the referenced emoji N times

fromId

  • MUST be a DSNP User Id
  • MUST have authorized the creation of the Announcement, either directly or via a transparent chain of delegation

inReplyTo

Non-Normative

Likes

Generic "likes" should default to the "❤️" or Unicode U+FE0F as the emoji in the reaction.