social.colibri.community
Schema Diff
+18 -3
Compatibility Analysis
Backward Compatible
Backward compatible. 6 non-breaking changes.
Non-Breaking Changes (6)
- AddedVertex AddedVertex { vertex_id: "social.colibri.community:body.appview" }
- AddedVertex AddedVertex { vertex_id: "social.colibri.community:body.migratedFrom" }
- AddedVertex AddedVertex { vertex_id: "social.colibri.community:body.migratedTo" }
- 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.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.migratedFrom" }AddedVertex { vertex_id: "social.colibri.community:body.migratedTo" }
Additional Notes
- 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.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
"$type": "com.atproto.lexicon.schema",
3
3
"defs": {
4
4
"main": {
5
-
"description": "A community, or \"server\", is where users join to interact with each other on Colibri.",
6
-
"key": "tid",
5
+
"description": "A community, or \"server\", is where users join to interact with each other on Colibri. Singleton record on the community DID's repo.",
6
+
"key": "literal:self",
7
7
"record": {
8
8
"properties": {
9
9
"$type": {
10
10
"description": "The type of the record.",
11
11
"format": "nsid",
12
12
"type": "string"
13
13
},
14
+
"appview": {
15
+
"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.",
16
+
"format": "did",
17
+
"type": "string"
18
+
},
14
19
"categoryOrder": {
15
20
"description": "The order of the categories in this community.",
16
21
"items": {
17
22
"description": "A category in this community.",
18
23
"format": "record-key",
19
24
"type": "string"
20
25
},
21
26
"type": "array"
22
27
},
23
28
"description": {
24
29
"default": "",
25
30
"description": "A description of the community.",
26
31
"maxLength": 256,
27
32
"type": "string"
28
33
},
34
+
"migratedFrom": {
35
+
"description": "Set on a community created by migrating a legacy community. Points at the legacy community record this one replaces.",
36
+
"format": "at-uri",
37
+
"type": "string"
38
+
},
39
+
"migratedTo": {
40
+
"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.",
41
+
"format": "at-uri",
42
+
"type": "string"
43
+
},
29
44
"name": {
30
45
"default": "New Community",
31
46
"description": "The name of the community.",
32
47
"maxLength": 32,
33
48
"minLength": 1,
34
49
"type": "string"
35
50
},
36
51
"picture": {
37
52
"accept": [
38
53
"image/jpeg",
39
54
"image/png",
40
55
"image/gif"
41
56
],
42
57
"description": "An image for the community that will be shown to users.",
43
58
"type": "blob"
44
59
},
45
60
"requiresApprovalToJoin": {
46
61
"default": true,
47
62
"description": "Whether users can chat in this community without the owner having to create an acknowledgement record.",
48
63
"type": "boolean"
49
64
}
50
65
},
51
66
"required": [
52
67
"name",
53
68
"description",
54
69
"categoryOrder",
55
70
"requiresApprovalToJoin"
56
71
],
57
72
"type": "object"
58
73
},
59
74
"type": "record"
60
75
}
61
76
},
62
77
"id": "social.colibri.community",
63
78
"lexicon": 1,
64
-
"revision": 1
79
+
"revision": 4
65
80
}