blue.moji.feed.reaction
{
"$type": "com.atproto.lexicon.schema",
"defs": {
"emojiRef": {
"description": "Denormalized reference to the Bluemoji used, mirroring blue.moji.richtext.facet: CID-only formats let consumers build blob/CDN URLs without a getRecord round-trip. AppViews should verify against the indexed item where possible.",
"properties": {
"adultOnly": {
"default": false,
"description": "MUST be populated by AppViews from the source item's adultOnly at hydration time (the source item is the trust anchor; do not trust a reactor-supplied value on write). Consumers SHOULD warn or blur before rendering when true, consistent with how the same item's adultOnly is handled elsewhere (facets, collection views).",
"type": "boolean"
},
"alt": {
"type": "string"
},
"cid": {
"description": "CID of the blue.moji.collection.item record, populated by AppViews at hydration time (like adultOnly) so consumers can build a com.atproto.repo.strongRef for moderation reports without a separate lookup. Not meaningful on write.",
"format": "cid",
"type": "string"
},
"formats": {
"closed": false,
"refs": [
"blue.moji.richtext.facet#formats_v0",
"blue.moji.richtext.facet#formats_v1"
],
"type": "union"
},
"name": {
"description": "Colon-wrapped alias, e.g. :blobcat:. Used as fallback text.",
"type": "string"
},
"uri": {
"description": "AT-URI of the blue.moji.collection.item record. The owning DID is derived from this.",
"format": "at-uri",
"type": "string"
}
},
"required": [
"uri",
"name",
"formats"
],
"type": "object"
},
"main": {
"description": "A custom-emoji reaction to a post. Analogous to app.bsky.feed.like, but the reaction glyph is a Bluemoji. Duplicate reactions (same subject + same emoji URI by the same actor) should be ignored by AppViews.",
"key": "tid",
"record": {
"properties": {
"createdAt": {
"format": "datetime",
"type": "string"
},
"emoji": {
"ref": "#emojiRef",
"type": "ref"
},
"subject": {
"description": "AT-URI of the post being reacted to.",
"format": "at-uri",
"type": "string"
},
"subjectCid": {
"description": "CID of the subject post at reaction time, for strong referencing.",
"format": "cid",
"type": "string"
}
},
"required": [
"subject",
"emoji",
"createdAt"
],
"type": "object"
},
"type": "record"
}
},
"id": "blue.moji.feed.reaction",
"lexicon": 1
}
Metadata
- DID
-
did:plc:kmzpsik7s5y5fwu7nnkngfx4 - CID
-
bafyreiaft5rlhegp4zjr5knxal3k6g5oq4yr35ig7qzya4qw6dimgpvw2m - Indexed At
- 2026-07-26 20:11 UTC
- AT-URI
-
at://did:plc:kmzpsik7s5y5fwu7nnkngfx4/com.atproto.lexicon.schema/blue.moji.feed.reaction
Referenced Schemas (2)
- blue.moji.richtext.facet#formats_v0
- blue.moji.richtext.facet#formats_v1
Similar Lexicons
Lexicons whose schemas describe something close to this one. Check them before publishing a new one that overlaps.
-
com.suibari.nagi.reaction record
Reference to a blue.moji.collection.item record. Formats are intentionally not carried here: the AppView resolves them from its own index of the source item, which is the trust anchor.
-
fyi.opensocial.reaction record
An emoji reaction to a post, in the reactor's own repo. One record per (subject, emoji) per person, keyed so that reacting again is an overwrite and unreacting is a delete. A placeholder for the shape Bluesky is expecte…
-
Emoji reaction by an actor on a post or comment. Use one record per emoji (stacking supported). Public targets store cleartext emoji. Reactions to encrypted targets store ciphertext plus keyEpochId.
-
blue.moji.feed.defs not from the namespace authority
Aggregated reactions to a subject, grouped by emoji item URI.
-
social.colibri.reaction record
A reaction on a Colibri message.