social.colibri.community
Schema Diff
+42 -5
Compatibility Analysis
Breaking Changes Detected
1 breaking change, 11 non-breaking changes.
Breaking Changes (1)
- RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "social.colibri.community:body", src: "social.colibri.community:body", tgt: "social.colibri.community:body.requiresApprovalToJoin", kind: "prop", name: Some("requiresApprovalToJoin") }
Non-Breaking Changes (11)
- AddedVertex AddedVertex { vertex_id: "social.colibri.community:body.appview" }
- AddedVertex AddedVertex { vertex_id: "social.colibri.community:body.banner" }
- AddedVertex AddedVertex { vertex_id: "social.colibri.community:body.linkEmbeds" }
- AddedVertex AddedVertex { vertex_id: "social.colibri.community:body.migratedFrom" }
- AddedVertex AddedVertex { vertex_id: "social.colibri.community:body.migratedTo" }
- AddedVertex AddedVertex { vertex_id: "social.colibri.community:body.requiresApprovalToJoin" }
- AddedEdge AddedEdge { src: "social.colibri.community:body", tgt: "social.colibri.community:body.appview", kind: "prop", name: Some("appview") }
- AddedEdge AddedEdge { src: "social.colibri.community:body", tgt: "social.colibri.community:body.banner", kind: "prop", name: Some("banner") }
- AddedEdge AddedEdge { src: "social.colibri.community:body", tgt: "social.colibri.community:body.linkEmbeds", kind: "prop", name: Some("linkEmbeds") }
- AddedEdge AddedEdge { src: "social.colibri.community:body", tgt: "social.colibri.community:body.migratedFrom", kind: "prop", name: Some("migratedFrom") }
- AddedEdge AddedEdge { src: "social.colibri.community:body", tgt: "social.colibri.community:body.migratedTo", kind: "prop", name: Some("migratedTo") }
Migration Guidance
Added Elements
AddedVertex { vertex_id: "social.colibri.community:body.appview" }AddedVertex { vertex_id: "social.colibri.community:body.banner" }AddedVertex { vertex_id: "social.colibri.community:body.linkEmbeds" }AddedVertex { vertex_id: "social.colibri.community:body.migratedFrom" }AddedVertex { vertex_id: "social.colibri.community:body.migratedTo" }AddedVertex { vertex_id: "social.colibri.community:body.requiresApprovalToJoin" }
Additional Notes
- Breaking: RequiredEdgeAdded { vertex_id: "social.colibri.community:body", src: "social.colibri.community:body", tgt: "social.colibri.community:body.requiresApprovalToJoin", kind: "prop", name: Some("requiresApprovalToJoin") }
- Non-breaking: AddedEdge { src: "social.colibri.community:body", tgt: "social.colibri.community:body.appview", kind: "prop", name: Some("appview") }
- Non-breaking: AddedEdge { src: "social.colibri.community:body", tgt: "social.colibri.community:body.banner", kind: "prop", name: Some("banner") }
- Non-breaking: AddedEdge { src: "social.colibri.community:body", tgt: "social.colibri.community:body.linkEmbeds", kind: "prop", name: Some("linkEmbeds") }
- Non-breaking: AddedEdge { src: "social.colibri.community:body", tgt: "social.colibri.community:body.migratedFrom", kind: "prop", name: Some("migratedFrom") }
- Non-breaking: AddedEdge { src: "social.colibri.community:body", tgt: "social.colibri.community:body.migratedTo", kind: "prop", name: Some("migratedTo") }
1
1
{
2
2
"id": "social.colibri.community",
3
3
"defs": {
4
4
"main": {
5
-
"key": "tid",
5
+
"key": "literal:self",
6
6
"type": "record",
7
7
"record": {
8
8
"type": "object",
9
9
"required": [
10
10
"name",
11
11
"description",
12
-
"categoryOrder"
12
+
"categoryOrder",
13
+
"requiresApprovalToJoin"
13
14
],
14
15
"properties": {
15
16
"name": {
16
17
"type": "string",
17
18
"default": "New Community",
18
19
"maxLength": 32,
19
20
"minLength": 1,
20
21
"description": "The name of the community."
21
22
},
22
23
"$type": {
23
24
"type": "string",
24
25
"format": "nsid",
25
26
"description": "The type of the record."
26
27
},
28
+
"banner": {
29
+
"type": "blob",
30
+
"accept": [
31
+
"image/jpeg",
32
+
"image/png",
33
+
"image/gif",
34
+
"image/webp"
35
+
],
36
+
"description": "A banner for the community that will be shown to users."
37
+
},
38
+
"appview": {
39
+
"type": "string",
40
+
"format": "did",
41
+
"description": "DID of the AppView that administers this community and acts as its off-protocol hub (Humming presence relay and voice SFU host). Written by the credential-holding AppView. Consumers that find this field absent fall back to did:web:api.colibri.social."
42
+
},
27
43
"picture": {
28
44
"type": "blob",
29
45
"accept": [
30
46
"image/jpeg",
31
47
"image/png",
32
-
"image/gif"
48
+
"image/gif",
49
+
"image/webp"
33
50
],
34
51
"description": "An image for the community that will be shown to users."
35
52
},
53
+
"linkEmbeds": {
54
+
"type": "boolean",
55
+
"default": true,
56
+
"description": "Whether link previews are displayed in this community by default. Individual channels may override this."
57
+
},
58
+
"migratedTo": {
59
+
"type": "string",
60
+
"format": "at-uri",
61
+
"description": "Set on a legacy community record once it has been migrated. Points at the new community record that replaces it; consumers treat this community as retired and hide it."
62
+
},
36
63
"description": {
37
64
"type": "string",
38
65
"default": "",
39
66
"maxLength": 256,
40
67
"description": "A description of the community."
41
68
},
69
+
"migratedFrom": {
70
+
"type": "string",
71
+
"format": "at-uri",
72
+
"description": "Set on a community created by migrating a legacy community. Points at the legacy community record this one replaces."
73
+
},
42
74
"categoryOrder": {
43
75
"type": "array",
44
76
"items": {
45
77
"type": "string",
46
78
"format": "record-key",
47
79
"description": "A category in this community."
48
80
},
49
81
"description": "The order of the categories in this community."
82
+
},
83
+
"requiresApprovalToJoin": {
84
+
"type": "boolean",
85
+
"default": true,
86
+
"description": "Whether users can chat in this community without the owner having to create an acknowledgement record."
50
87
}
51
88
}
52
89
},
53
-
"description": "A community, or \"server\", is where users join to interact with each other on Colibri."
90
+
"description": "A community, or \"server\", is where users join to interact with each other on Colibri. Singleton record on the community DID's repo."
54
91
}
55
92
},
56
93
"$type": "com.atproto.lexicon.schema",
57
94
"lexicon": 1,
58
-
"revision": 1
95
+
"revision": 5
59
96
}