net.atchan.thread

atchan.net

Schema Diff

+8 -1

From

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

To

CID
bafyreibha6b6eoa...
Indexed At
2026-08-15 17:18 UTC
View this version

Compatibility Analysis

Breaking Changes Detected

1 breaking change, 6 non-breaking changes.

Breaking Changes (1)
  • RequiredEdgeRemoved RequiredEdgeRemoved { vertex_id: "net.atchan.thread:body", src: "net.atchan.thread:body", tgt: "net.atchan.thread:body.subject", kind: "prop", name: Some("subject") }
Non-Breaking Changes (6)
  • AddedVertex AddedVertex { vertex_id: "net.atchan.richtext.facet" }
  • AddedVertex AddedVertex { vertex_id: "net.atchan.thread:body.facets" }
  • AddedVertex AddedVertex { vertex_id: "net.atchan.thread:body.facets:items" }
  • AddedEdge AddedEdge { src: "net.atchan.thread:body", tgt: "net.atchan.thread:body.facets", kind: "prop", name: Some("facets") }
  • AddedEdge AddedEdge { src: "net.atchan.thread:body.facets", tgt: "net.atchan.thread:body.facets:items", kind: "items", name: None }
  • AddedEdge AddedEdge { src: "net.atchan.thread:body.facets:items", tgt: "net.atchan.richtext.facet", kind: "ref", name: None }

Migration Guidance

Added Elements

  • AddedVertex { vertex_id: "net.atchan.richtext.facet" }
  • AddedVertex { vertex_id: "net.atchan.thread:body.facets" }
  • AddedVertex { vertex_id: "net.atchan.thread:body.facets:items" }

Additional Notes

  • Breaking: RequiredEdgeRemoved { vertex_id: "net.atchan.thread:body", src: "net.atchan.thread:body", tgt: "net.atchan.thread:body.subject", kind: "prop", name: Some("subject") }
  • Non-breaking: AddedEdge { src: "net.atchan.thread:body", tgt: "net.atchan.thread:body.facets", kind: "prop", name: Some("facets") }
  • Non-breaking: AddedEdge { src: "net.atchan.thread:body.facets", tgt: "net.atchan.thread:body.facets:items", kind: "items", name: None }
  • Non-breaking: AddedEdge { src: "net.atchan.thread:body.facets:items", tgt: "net.atchan.richtext.facet", kind: "ref", name: None }
1 1
{
2 2
  "id": "net.atchan.thread",
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 -
          "subject",
11 10
          "board",
12 11
          "embeds",
13 12
          "createdAt"
14 13
        ],
15 14
        "properties": {
16 15
          "body": {
17 16
            "type": "string",
18 17
            "maxLength": 20000,
19 18
            "description": "Comment line for this thread",
20 19
            "maxGraphemes": 2000
21 20
          },
22 21
          "name": {
23 22
            "type": "string",
24 23
            "maxLength": 640,
25 24
            "description": "Cosmetic name associated with the poster",
26 25
            "maxGraphemes": 64
27 26
          },
28 27
          "board": {
29 28
            "type": "string",
30 29
            "format": "at-uri",
31 30
            "description": "Reference to the net.atchan.board record this thread is posted on"
32 31
          },
33 32
          "embeds": {
34 33
            "type": "array",
35 34
            "items": {
36 35
              "refs": [
37 36
                "net.atchan.embed.image"
38 37
              ],
39 38
              "type": "union"
40 39
            },
41 40
            "maxLength": 1,
42 41
            "minLength": 1,
43 42
            "description": "A list of embedded data for this post. Only one embed is permitted. This limit may be raised in the future."
44 43
          },
44 +
          "facets": {
45 +
            "type": "array",
46 +
            "items": {
47 +
              "ref": "net.atchan.richtext.facet",
48 +
              "type": "ref"
49 +
            },
50 +
            "description": "Rich-text formatting annotations over byte ranges of `body`"
51 +
          },
45 52
          "spoiler": {
46 53
            "type": "boolean",
47 54
            "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."
48 55
          },
49 56
          "subject": {
50 57
            "type": "string",
51 58
            "maxLength": 1280,
52 59
            "description": "Subject line for this thread",
53 60
            "maxGraphemes": 128
54 61
          },
55 62
          "createdAt": {
56 63
            "type": "string",
57 64
            "format": "datetime",
58 65
            "description": "Client-declared timestamp when this post was originally created"
59 66
          }
60 67
        }
61 68
      },
62 69
      "description": "A record containing an imageboard thread. Commonly referred to as the OP."
63 70
    }
64 71
  },
65 72
  "$type": "com.atproto.lexicon.schema",
66 73
  "lexicon": 1
67 74
}

Compare Other Versions

Lexicon Garden

@