fyi.opensocial.channel.about
Schema Diff
+10 -27
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
}