social.colibri.beta.actor.settings
Schema Diff
+8 -4
Compatibility Analysis
Breaking Changes Detected
2 breaking changes, 5 non-breaking changes.
Breaking Changes (2)
- KindChanged KindChanged { vertex_id: "social.colibri.beta.actor.settings:body.gifFavorites:items", old_kind: "string", new_kind: "ref" }
- ConstraintAdded ConstraintAdded { vertex_id: "social.colibri.beta.actor.settings:body.gifFavorites:items", sort: "ref", value: "social.colibri.beta.embed.defs#gifView" }
Non-Breaking Changes (5)
- AddedVertex AddedVertex { vertex_id: "social.colibri.beta.actor.settings:body.shareActivity" }
- AddedVertex AddedVertex { vertex_id: "social.colibri.beta.embed.defs#gifView" }
- AddedEdge AddedEdge { src: "social.colibri.beta.actor.settings:body", tgt: "social.colibri.beta.actor.settings:body.shareActivity", kind: "prop", name: Some("shareActivity") }
- AddedEdge AddedEdge { src: "social.colibri.beta.actor.settings:body.gifFavorites:items", tgt: "social.colibri.beta.embed.defs#gifView", kind: "ref", name: None }
- ConstraintRemoved ConstraintRemoved { vertex_id: "social.colibri.beta.actor.settings:body.gifFavorites:items", sort: "maxLength" }
Migration Guidance
Added Elements
AddedVertex { vertex_id: "social.colibri.beta.actor.settings:body.shareActivity" }AddedVertex { vertex_id: "social.colibri.beta.embed.defs#gifView" }
Constraint Changes
- ConstraintAdded ConstraintAdded { vertex_id: "social.colibri.beta.actor.settings:body.gifFavorites:items", sort: "ref", value: "social.colibri.beta.embed.defs#gifView" }
- ConstraintRemoved ConstraintRemoved { vertex_id: "social.colibri.beta.actor.settings:body.gifFavorites:items", sort: "maxLength" }
Additional Notes
- Breaking: KindChanged { vertex_id: "social.colibri.beta.actor.settings:body.gifFavorites:items", old_kind: "string", new_kind: "ref" }
- Non-breaking: AddedEdge { src: "social.colibri.beta.actor.settings:body", tgt: "social.colibri.beta.actor.settings:body.shareActivity", kind: "prop", name: Some("shareActivity") }
- Non-breaking: AddedEdge { src: "social.colibri.beta.actor.settings:body.gifFavorites:items", tgt: "social.colibri.beta.embed.defs#gifView", kind: "ref", name: None }
1
1
{
2
2
"$type": "com.atproto.lexicon.schema",
3
3
"defs": {
4
4
"main": {
5
5
"description": "A user's Colibri settings.",
6
6
"key": "literal:self",
7
7
"record": {
8
8
"properties": {
9
9
"communityOrder": {
10
10
"description": "The user's communities in their preferred sidebar order.",
11
11
"items": {
12
12
"description": "A community.",
13
13
"format": "did",
14
14
"type": "string"
15
15
},
16
16
"type": "array"
17
17
},
18
18
"gifFavorites": {
19
-
"description": "GIFs the user saved from the picker.",
19
+
"description": "GIFs the user saved from the picker, stored whole. A saved GIF has to render without another lookup, and an identifier cannot be turned back into one: a GIF favourited from a chat message carries its own URL as the id rather than a provider key, so no provider can resolve it.",
20
20
"items": {
21
-
"description": "A GIF identifier.",
22
-
"maxLength": 256,
23
-
"type": "string"
21
+
"ref": "social.colibri.beta.embed.defs#gifView",
22
+
"type": "ref"
24
23
},
25
24
"type": "array"
26
25
},
27
26
"notificationLevel": {
28
27
"default": "all",
29
28
"description": "Which messages produce a notification.",
30
29
"knownValues": [
31
30
"all",
32
31
"mentionsAndReplies"
33
32
],
34
33
"type": "string"
34
+
},
35
+
"shareActivity": {
36
+
"default": false,
37
+
"description": "Whether the AppView may read the user's listening records from the services they publish to and show what they are playing to others.",
38
+
"type": "boolean"
35
39
}
36
40
},
37
41
"required": [],
38
42
"type": "object"
39
43
},
40
44
"type": "record"
41
45
}
42
46
},
43
47
"id": "social.colibri.beta.actor.settings",
44
48
"lexicon": 1
45
49
}