social.coves.community.comment
A comment on a post or another comment. Comments live in user repositories and support nested threading.
Details · record, key tid
| Kind | record |
|---|---|
| Record key | tid |
| Authority | community.coves.social |
| Indexed |
Checks
Validlarge-stringdefs.main.record.properties.contentmaxLength is over 20 KB. Use a blob for content that large.
{
"$type": "com.atproto.lexicon.schema",
"defs": {
"bridgedStats": {
"description": "Aggregate vote counts asserted by the bridge for content federated from an origin platform (e.g. Lemmy). These supplement, and are kept separate from, native atproto votes.",
"properties": {
"asOf": {
"description": "Timestamp the origin-platform counts were sampled; used to discard stale updates",
"format": "datetime",
"type": "string"
},
"downvotes": {
"description": "Number of downvotes on the origin platform as of asOf",
"minimum": 0,
"type": "integer"
},
"upvotes": {
"description": "Number of upvotes on the origin platform as of asOf",
"minimum": 0,
"type": "integer"
}
},
"required": [
"upvotes",
"downvotes",
"asOf"
],
"type": "object"
},
"main": {
"description": "A comment on a post or another comment. Comments live in user repositories and support nested threading.",
"key": "tid",
"record": {
"properties": {
"bridgedStats": {
"description": "Bridge-asserted aggregate of origin-platform votes for federated/bridged content. Set by the bridge that materialized this record; absent for natively-authored comments.",
"ref": "#bridgedStats",
"type": "ref"
},
"content": {
"description": "Comment text content",
"maxGraphemes": 10000,
"maxLength": 100000,
"type": "string"
},
"createdAt": {
"description": "Timestamp of comment creation",
"format": "datetime",
"type": "string"
},
"embed": {
"description": "Embedded media or quoted posts",
"refs": [
"social.coves.embed.images",
"social.coves.embed.imagesWithAttachment",
"social.coves.embed.post"
],
"type": "union"
},
"facets": {
"description": "Annotations for rich text (mentions, links, formatting, block structure)",
"items": {
"ref": "social.coves.richtext.facet",
"type": "ref"
},
"maxLength": 200,
"type": "array"
},
"labels": {
"description": "Self-applied content labels",
"ref": "com.atproto.label.defs#selfLabels",
"type": "ref"
},
"langs": {
"description": "Languages used in the comment content (ISO 639-1)",
"items": {
"format": "language",
"type": "string"
},
"maxLength": 3,
"type": "array"
},
"reply": {
"description": "Reference to the post and parent being replied to",
"ref": "#replyRef",
"type": "ref"
}
},
"required": [
"reply",
"content",
"createdAt"
],
"type": "object"
},
"type": "record"
},
"replyRef": {
"description": "References for maintaining thread structure. Root always points to the original post, parent points to the immediate parent (post or comment).",
"properties": {
"parent": {
"description": "Strong reference to the immediate parent (post or comment) being replied to",
"ref": "com.atproto.repo.strongRef",
"type": "ref"
},
"root": {
"description": "Strong reference to the original post that started the thread",
"ref": "com.atproto.repo.strongRef",
"type": "ref"
}
},
"required": [
"root",
"parent"
],
"type": "object"
}
},
"id": "social.coves.community.comment",
"lexicon": 1
}