Reaction Announcement
A Reaction Announcement is for publishing emoji reactions to anything with a DSNP Content URI.
Fields
| Field | Description | Data Type | Serialization | Parquet Type | Bloom Filter |
|---|---|---|---|---|---|
| announcementType | Announcement Type Enum (4) | enum | decimal | INT32 | no |
| emoji | the encoded reaction | UTF-8 | UTF-8 | UTF8 | YES |
| apply | how to apply the reaction | 8-bit unsigned integer | decimal | UINT_8 | no |
| fromId | id of the user creating the relationship | 64-bit unsigned integer | decimal | UINT_64 | YES |
| inReplyTo | Target DSNP Content URI | UTF-8 | UTF-8 | UTF8 | YES |
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+2000toU+2BFF, fromU+E000toU+FFFF, or fromU+1F000toU+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
| Value | Name | Description |
|---|---|---|
| 0 | retract | Remove the referenced emoji |
| n | apply | Apply 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
- MUST be a DSNP Content URI
Non-Normative
Likes
Generic "likes" should default to the "❤️" or Unicode U+FE0F as the emoji in the reaction.