net.atchan.reply

atchan.net

Schema Diff

+10 -1

From

CID
bafyreid6nh7ckp2...
Indexed At
2026-07-16 16:24 UTC
View this version

To

CID
bafyreieyux6lfi5...
Indexed At
2026-07-18 19:21 UTC
View this version

Compatibility Analysis

Backward Compatible

Backward compatible. 10 non-breaking changes.

Non-Breaking Changes (10)
  • AddedVertex AddedVertex { vertex_id: "net.atchan.embed.video" }
  • AddedVertex AddedVertex { vertex_id: "net.atchan.reply:body.embeds:items:variant2" }
  • AddedVertex AddedVertex { vertex_id: "net.atchan.reply:body.facets" }
  • AddedVertex AddedVertex { vertex_id: "net.atchan.reply:body.facets:items" }
  • AddedVertex AddedVertex { vertex_id: "net.atchan.richtext.facet" }
  • AddedEdge AddedEdge { src: "net.atchan.reply:body", tgt: "net.atchan.reply:body.facets", kind: "prop", name: Some("facets") }
  • AddedEdge AddedEdge { src: "net.atchan.reply:body.embeds:items", tgt: "net.atchan.reply:body.embeds:items:variant2", kind: "variant", name: Some("net.atchan.embed.video") }
  • AddedEdge AddedEdge { src: "net.atchan.reply:body.embeds:items:variant2", tgt: "net.atchan.embed.video", kind: "ref", name: None }
  • AddedEdge AddedEdge { src: "net.atchan.reply:body.facets", tgt: "net.atchan.reply:body.facets:items", kind: "items", name: None }
  • AddedEdge AddedEdge { src: "net.atchan.reply:body.facets:items", tgt: "net.atchan.richtext.facet", kind: "ref", name: None }

Migration Guidance

Added Elements

  • AddedVertex { vertex_id: "net.atchan.embed.video" }
  • AddedVertex { vertex_id: "net.atchan.reply:body.embeds:items:variant2" }
  • AddedVertex { vertex_id: "net.atchan.reply:body.facets" }
  • AddedVertex { vertex_id: "net.atchan.reply:body.facets:items" }
  • AddedVertex { vertex_id: "net.atchan.richtext.facet" }

Additional Notes

  • Non-breaking: AddedEdge { src: "net.atchan.reply:body", tgt: "net.atchan.reply:body.facets", kind: "prop", name: Some("facets") }
  • Non-breaking: AddedEdge { src: "net.atchan.reply:body.embeds:items", tgt: "net.atchan.reply:body.embeds:items:variant2", kind: "variant", name: Some("net.atchan.embed.video") }
  • Non-breaking: AddedEdge { src: "net.atchan.reply:body.embeds:items:variant2", tgt: "net.atchan.embed.video", kind: "ref", name: None }
  • Non-breaking: AddedEdge { src: "net.atchan.reply:body.facets", tgt: "net.atchan.reply:body.facets:items", kind: "items", name: None }
  • Non-breaking: AddedEdge { src: "net.atchan.reply:body.facets:items", tgt: "net.atchan.richtext.facet", kind: "ref", name: None }
1 1
{
2 2
  "id": "net.atchan.reply",
3 3
  "defs": {
4 4
    "main": {
5 5
      "key": "tid",
6 6
      "type": "record",
7 7
      "record": {
8 8
        "type": "object",
9 9
        "required": [
10 10
          "thread",
11 11
          "body",
12 12
          "createdAt"
13 13
        ],
14 14
        "properties": {
15 15
          "body": {
16 16
            "type": "string",
17 17
            "maxLength": 20000,
18 18
            "description": "The main text of the post. May be an empty string if there are embeds.",
19 19
            "maxGraphemes": 2000
20 20
          },
21 21
          "name": {
22 22
            "type": "string",
23 23
            "maxLength": 640,
24 24
            "description": "Cosmetic name associated with the poster",
25 25
            "maxGraphemes": 64
26 26
          },
27 27
          "sage": {
28 28
            "type": "boolean",
29 29
            "description": "Indication that user does not want to bump the OP when making a reply"
30 30
          },
31 31
          "embeds": {
32 32
            "type": "array",
33 33
            "items": {
34 34
              "refs": [
35 35
                "net.atchan.embed.image",
36 -
                "net.atchan.embed.audio"
36 +
                "net.atchan.embed.audio",
37 +
                "net.atchan.embed.video"
37 38
              ],
38 39
              "type": "union"
39 40
            },
40 41
            "maxLength": 1,
41 42
            "minLength": 1,
42 43
            "description": "A list of embedded data for this post. Only one embed is permitted. This limit may be raised in the future."
43 44
          },
45 +
          "facets": {
46 +
            "type": "array",
47 +
            "items": {
48 +
              "ref": "net.atchan.richtext.facet",
49 +
              "type": "ref"
50 +
            },
51 +
            "description": "Rich-text formatting annotations over byte ranges of `body`"
52 +
          },
44 53
          "thread": {
45 54
            "ref": "com.atproto.repo.strongRef",
46 55
            "type": "ref",
47 56
            "description": "The post being replied to. The referenced post must be an OP. Replies to other replies are made with >> in the text body"
48 57
          },
49 58
          "spoiler": {
50 59
            "type": "boolean",
51 60
            "description": "If the post's embed should require an additional UI interaction to be shown. Intended to hide spoilers from users. Sometimes used to hide NSFW content."
52 61
          },
53 62
          "createdAt": {
54 63
            "type": "string",
55 64
            "format": "datetime",
56 65
            "description": "Client-declared timestamp when this post was originally created"
57 66
          }
58 67
        }
59 68
      },
60 69
      "description": "A record containing a reply to an imageboard thread"
61 70
    }
62 71
  },
63 72
  "$type": "com.atproto.lexicon.schema",
64 73
  "lexicon": 1
65 74
}

Compare Other Versions

Lexicon Garden

@