fyi.opensocial.channel.about

lexicons.opensocial.fyi

Schema Diff

+10 -27

From

CID
bafyreigwbtueqn2...
Indexed At
2026-10-14 17:27 UTC
View this version

To

CID
bafyreihi23obuxq...
Indexed At
2026-10-16 20:58 UTC
View this version

Compatibility Analysis

Breaking Changes Detected

10 breaking changes, 6 non-breaking changes.

Breaking Changes (10)
  • RequiredEdgeRemoved RequiredEdgeRemoved { vertex_id: "fyi.opensocial.channel.about#page", src: "fyi.opensocial.channel.about#page", tgt: "fyi.opensocial.channel.about#page.html", kind: "prop", name: Some("html") }
  • RequiredEdgeRemoved RequiredEdgeRemoved { vertex_id: "fyi.opensocial.channel.about#page", src: "fyi.opensocial.channel.about#page", tgt: "fyi.opensocial.channel.about#page.path", kind: "prop", name: Some("path") }
  • RemovedVertex RemovedVertex { vertex_id: "fyi.opensocial.channel.about#page" }
  • RemovedVertex RemovedVertex { vertex_id: "fyi.opensocial.channel.about#page.html" }
  • RemovedVertex RemovedVertex { vertex_id: "fyi.opensocial.channel.about#page.path" }
  • RemovedVertex RemovedVertex { vertex_id: "fyi.opensocial.channel.about:body.pages" }
  • RemovedVertex RemovedVertex { vertex_id: "fyi.opensocial.channel.about:body.pages:items" }
  • RemovedEdge RemovedEdge { src: "fyi.opensocial.channel.about:body", tgt: "fyi.opensocial.channel.about:body.pages", kind: "prop", name: Some("pages") }
  • RemovedEdge RemovedEdge { src: "fyi.opensocial.channel.about:body.pages", tgt: "fyi.opensocial.channel.about:body.pages:items", kind: "items", name: None }
  • RemovedEdge RemovedEdge { src: "fyi.opensocial.channel.about:body.pages:items", tgt: "fyi.opensocial.channel.about#page", kind: "ref", name: None }
Non-Breaking Changes (6)
  • AddedVertex AddedVertex { vertex_id: "fyi.opensocial.channel.about:body.files" }
  • AddedVertex AddedVertex { vertex_id: "fyi.opensocial.channel.about:body.files:items" }
  • AddedVertex AddedVertex { vertex_id: "fyi.opensocial.defs#file" }
  • AddedEdge AddedEdge { src: "fyi.opensocial.channel.about:body", tgt: "fyi.opensocial.channel.about:body.files", kind: "prop", name: Some("files") }
  • AddedEdge AddedEdge { src: "fyi.opensocial.channel.about:body.files", tgt: "fyi.opensocial.channel.about:body.files:items", kind: "items", name: None }
  • AddedEdge AddedEdge { src: "fyi.opensocial.channel.about:body.files:items", tgt: "fyi.opensocial.defs#file", kind: "ref", name: None }

Migration Guidance

Removed Elements

  • RemovedVertex { vertex_id: "fyi.opensocial.channel.about#page" }
  • RemovedVertex { vertex_id: "fyi.opensocial.channel.about#page.html" }
  • RemovedVertex { vertex_id: "fyi.opensocial.channel.about#page.path" }
  • RemovedVertex { vertex_id: "fyi.opensocial.channel.about:body.pages" }
  • RemovedVertex { vertex_id: "fyi.opensocial.channel.about:body.pages:items" }

Added Elements

  • AddedVertex { vertex_id: "fyi.opensocial.channel.about:body.files" }
  • AddedVertex { vertex_id: "fyi.opensocial.channel.about:body.files:items" }
  • AddedVertex { vertex_id: "fyi.opensocial.defs#file" }

Additional Notes

  • Breaking: RequiredEdgeRemoved { vertex_id: "fyi.opensocial.channel.about#page", src: "fyi.opensocial.channel.about#page", tgt: "fyi.opensocial.channel.about#page.html", kind: "prop", name: Some("html") }
  • Breaking: RequiredEdgeRemoved { vertex_id: "fyi.opensocial.channel.about#page", src: "fyi.opensocial.channel.about#page", tgt: "fyi.opensocial.channel.about#page.path", kind: "prop", name: Some("path") }
  • Breaking: RemovedEdge { src: "fyi.opensocial.channel.about:body", tgt: "fyi.opensocial.channel.about:body.pages", kind: "prop", name: Some("pages") }
  • Breaking: RemovedEdge { src: "fyi.opensocial.channel.about:body.pages", tgt: "fyi.opensocial.channel.about:body.pages:items", kind: "items", name: None }
  • Breaking: RemovedEdge { src: "fyi.opensocial.channel.about:body.pages:items", tgt: "fyi.opensocial.channel.about#page", kind: "ref", name: None }
  • Non-breaking: AddedEdge { src: "fyi.opensocial.channel.about:body", tgt: "fyi.opensocial.channel.about:body.files", kind: "prop", name: Some("files") }
  • Non-breaking: AddedEdge { src: "fyi.opensocial.channel.about:body.files", tgt: "fyi.opensocial.channel.about:body.files:items", kind: "items", name: None }
  • Non-breaking: AddedEdge { src: "fyi.opensocial.channel.about:body.files:items", tgt: "fyi.opensocial.defs#file", kind: "ref", name: None }
1 1
{
2 2
  "$type": "com.atproto.lexicon.schema",
3 3
  "defs": {
4 4
    "main": {
5 -
      "description": "A channel for chosen people, as its space holds it: its address, its name, its tabs in order as a group's site has them, and the pages of their own those tabs show. Who it's for is its space's access.",
5 +
      "description": "A channel for chosen people, as its space holds it: its address, its name, its tabs in order as a group's site has them, and the files of their own those tabs show. Who it's for is its space's access.",
6 6
      "key": "literal:self",
7 7
      "record": {
8 8
        "properties": {
9 9
          "createdBy": {
10 10
            "format": "did",
11 11
            "type": "string"
12 12
          },
13 -
          "name": {
14 -
            "maxGraphemes": 64,
15 -
            "maxLength": 640,
16 -
            "type": "string"
17 -
          },
18 -
          "pages": {
13 +
          "files": {
14 +
            "description": "Its tabs' own pages, by path (`<channel>/<tab>.html`), and the methods and lexicons beside them (`methods/<nsid>.js`, `lexicons/<nsid>.json`).",
19 15
            "items": {
20 -
              "ref": "#page",
16 +
              "ref": "fyi.opensocial.defs#file",
21 17
              "type": "ref"
22 18
            },
23 -
            "maxLength": 50,
19 +
            "maxLength": 100,
24 20
            "type": "array"
25 21
          },
22 +
          "name": {
23 +
            "maxGraphemes": 64,
24 +
            "maxLength": 640,
25 +
            "type": "string"
26 +
          },
26 27
          "slug": {
27 28
            "maxLength": 64,
28 29
            "type": "string"
29 30
          },
30 31
          "tabs": {
31 32
            "items": {
32 33
              "ref": "fyi.opensocial.site#tab",
33 34
              "type": "ref"
34 35
            },
35 36
            "maxLength": 30,
36 37
            "type": "array"
37 38
          },
38 39
          "updatedAt": {
39 40
            "format": "datetime",
40 41
            "type": "string"
41 42
          }
42 43
        },
43 44
        "required": [
44 45
          "slug",
45 46
          "name",
46 47
          "tabs",
47 48
          "updatedAt"
48 49
        ],
49 50
        "type": "object"
50 51
      },
51 52
      "type": "record"
52 -
    },
53 -
    "page": {
54 -
      "description": "A page of a tab's own, by the path the tab names it at: one HTML file, kept inline.",
55 -
      "properties": {
56 -
        "html": {
57 -
          "maxLength": 200000,
58 -
          "type": "string"
59 -
        },
60 -
        "path": {
61 -
          "maxLength": 256,
62 -
          "type": "string"
63 -
        }
64 -
      },
65 -
      "required": [
66 -
        "path",
67 -
        "html"
68 -
      ],
69 -
      "type": "object"
70 53
    }
71 54
  },
72 55
  "id": "fyi.opensocial.channel.about",
73 56
  "lexicon": 1
74 57
}

Compare Other Versions

Lexicon Garden

@