social.wips.comment
Native wips.social comment / reply record.
Details · record, key tid
| Kind | record |
|---|---|
| Record key | tid |
| Authority | wips.social |
| Indexed |
Checks
Validlarge-stringdefs.main.record.properties.textmaxLength is over 20 KB. Use a blob for content that large.
{
"$type": "com.atproto.lexicon.schema",
"defs": {
"main": {
"description": "Native wips.social comment / reply record.",
"key": "tid",
"record": {
"properties": {
"createdAt": {
"description": "Client-declared timestamp when the comment was originally created.",
"format": "datetime",
"type": "string"
},
"facets": {
"description": "Rich-text annotations (mentions, links, tags) over text, using official app.bsky.richtext.facet. Application validators enforce UTF-8 codepoint-aligned byte ranges, per-facet feature caps, and http(s) link URIs. Ceiling keeps worst-case DAG-CBOR under the explicit record budget.",
"items": {
"ref": "app.bsky.richtext.facet",
"type": "ref"
},
"maxLength": 30,
"type": "array"
},
"labels": {
"description": "Open union for forward compatibility. Current app authoring/validation requires com.atproto.label.defs#selfLabels when present; unknown variants are not treated as self-labels. External moderation labels stay out of the record.",
"refs": [
"com.atproto.label.defs#selfLabels"
],
"type": "union"
},
"langs": {
"description": "Indicates human language(s) of the comment primary text content (BCP 47).",
"items": {
"format": "language",
"type": "string"
},
"maxLength": 3,
"type": "array"
},
"media": {
"description": "Ordered media items. May freely mix images and videos using shared social.wips.defs media objects. Same app media safety policy as updates.",
"items": {
"refs": [
"social.wips.defs#image",
"social.wips.defs#video"
],
"type": "union"
},
"maxLength": 50,
"type": "array"
},
"parent": {
"description": "When present, AT URI of the immediate parent social.wips.comment. Omitted for top-level comments.",
"ref": "social.wips.defs#uriRef",
"type": "ref"
},
"subject": {
"description": "AT URI of the root social.wips.update.",
"ref": "social.wips.defs#uriRef",
"type": "ref"
},
"text": {
"description": "Optional comment body text. Required by application semantics when facets are present; at least one of non-whitespace text or known image/video media is required overall.",
"maxGraphemes": 8000,
"maxLength": 80000,
"type": "string"
}
},
"required": [
"subject",
"createdAt"
],
"type": "object"
},
"type": "record"
}
},
"description": "Comment on a wips.social update. Top-level comments omit parent; replies set parent to the immediate comment being answered. subject always points at the root update. Body may be text, ordered media, or both (application validators require at least one of non-whitespace text or known image/video media; unknown open-union media variants do not satisfy content alone). Optional rich-text facets (app.bsky.richtext.facet), langs, and labels (open union; current app policy requires selfLabels). Comments are not edited through wips.social (create/delete only) — that is App View/write policy, not a Lexicon/PDS immutability guarantee. Protocol ceilings stay generous while keeping worst-case DAG-CBOR size under the explicit budget.",
"id": "social.wips.comment",
"lexicon": 1
}