social.colibri.community
Schema Diff
+6 -1
Compatibility Analysis
Backward Compatible
Backward compatible. 2 non-breaking changes.
Non-Breaking Changes (2)
- AddedVertex AddedVertex { vertex_id: "social.colibri.community:body.linkEmbeds" }
- AddedEdge AddedEdge { src: "social.colibri.community:body", tgt: "social.colibri.community:body.linkEmbeds", kind: "prop", name: Some("linkEmbeds") }
Migration Guidance
Added Elements
AddedVertex { vertex_id: "social.colibri.community:body.linkEmbeds" }
Additional Notes
- Non-breaking: AddedEdge { src: "social.colibri.community:body", tgt: "social.colibri.community:body.linkEmbeds", kind: "prop", name: Some("linkEmbeds") }
1
1
{
2
2
"$type": "com.atproto.lexicon.schema",
3
3
"defs": {
4
4
"main": {
5
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
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
14
"appview": {
15
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
16
"format": "did",
17
17
"type": "string"
18
18
},
19
19
"banner": {
20
20
"accept": [
21
21
"image/jpeg",
22
22
"image/png",
23
23
"image/gif",
24
24
"image/webp"
25
25
],
26
26
"description": "A banner for the community that will be shown to users.",
27
27
"type": "blob"
28
28
},
29
29
"categoryOrder": {
30
30
"description": "The order of the categories in this community.",
31
31
"items": {
32
32
"description": "A category in this community.",
33
33
"format": "record-key",
34
34
"type": "string"
35
35
},
36
36
"type": "array"
37
37
},
38
38
"description": {
39
39
"default": "",
40
40
"description": "A description of the community.",
41
41
"maxLength": 256,
42
42
"type": "string"
43
43
},
44
+
"linkEmbeds": {
45
+
"default": true,
46
+
"description": "Whether link previews are displayed in this community by default. Individual channels may override this.",
47
+
"type": "boolean"
48
+
},
44
49
"migratedFrom": {
45
50
"description": "Set on a community created by migrating a legacy community. Points at the legacy community record this one replaces.",
46
51
"format": "at-uri",
47
52
"type": "string"
48
53
},
49
54
"migratedTo": {
50
55
"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.",
51
56
"format": "at-uri",
52
57
"type": "string"
53
58
},
54
59
"name": {
55
60
"default": "New Community",
56
61
"description": "The name of the community.",
57
62
"maxLength": 32,
58
63
"minLength": 1,
59
64
"type": "string"
60
65
},
61
66
"picture": {
62
67
"accept": [
63
68
"image/jpeg",
64
69
"image/png",
65
70
"image/gif",
66
71
"image/webp"
67
72
],
68
73
"description": "An image for the community that will be shown to users.",
69
74
"type": "blob"
70
75
},
71
76
"requiresApprovalToJoin": {
72
77
"default": true,
73
78
"description": "Whether users can chat in this community without the owner having to create an acknowledgement record.",
74
79
"type": "boolean"
75
80
}
76
81
},
77
82
"required": [
78
83
"name",
79
84
"description",
80
85
"categoryOrder",
81
86
"requiresApprovalToJoin"
82
87
],
83
88
"type": "object"
84
89
},
85
90
"type": "record"
86
91
}
87
92
},
88
93
"id": "social.colibri.community",
89
94
"lexicon": 1,
90
-
"revision": 4
95
+
"revision": 5
91
96
}