social.colibri.community
Schema Diff
+10 -3
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
-
"image/gif"
23
+
"image/gif",
24
+
"image/webp"
24
25
],
25
26
"description": "A banner for the community that will be shown to users.",
26
27
"type": "blob"
27
28
},
28
29
"categoryOrder": {
29
30
"description": "The order of the categories in this community.",
30
31
"items": {
31
32
"description": "A category in this community.",
32
33
"format": "record-key",
33
34
"type": "string"
34
35
},
35
36
"type": "array"
36
37
},
37
38
"description": {
38
39
"default": "",
39
40
"description": "A description of the community.",
40
41
"maxLength": 256,
41
42
"type": "string"
42
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
+
},
43
49
"migratedFrom": {
44
50
"description": "Set on a community created by migrating a legacy community. Points at the legacy community record this one replaces.",
45
51
"format": "at-uri",
46
52
"type": "string"
47
53
},
48
54
"migratedTo": {
49
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.",
50
56
"format": "at-uri",
51
57
"type": "string"
52
58
},
53
59
"name": {
54
60
"default": "New Community",
55
61
"description": "The name of the community.",
56
62
"maxLength": 32,
57
63
"minLength": 1,
58
64
"type": "string"
59
65
},
60
66
"picture": {
61
67
"accept": [
62
68
"image/jpeg",
63
69
"image/png",
64
-
"image/gif"
70
+
"image/gif",
71
+
"image/webp"
65
72
],
66
73
"description": "An image for the community that will be shown to users.",
67
74
"type": "blob"
68
75
},
69
76
"requiresApprovalToJoin": {
70
77
"default": true,
71
78
"description": "Whether users can chat in this community without the owner having to create an acknowledgement record.",
72
79
"type": "boolean"
73
80
}
74
81
},
75
82
"required": [
76
83
"name",
77
84
"description",
78
85
"categoryOrder",
79
86
"requiresApprovalToJoin"
80
87
],
81
88
"type": "object"
82
89
},
83
90
"type": "record"
84
91
}
85
92
},
86
93
"id": "social.colibri.community",
87
94
"lexicon": 1,
88
-
"revision": 4
95
+
"revision": 5
89
96
}