social.colibri.actor.defs
Schema Diff
+29 -0
Compatibility Analysis
Breaking Changes Detected
4 breaking changes, 9 non-breaking changes.
Breaking Changes (4)
- RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "social.colibri.actor.defs#plateView", src: "social.colibri.actor.defs#plateView", tgt: "social.colibri.actor.defs#plateView.uri", kind: "prop", name: Some("uri") }
- RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "social.colibri.actor.defs#plateView", src: "social.colibri.actor.defs#plateView", tgt: "social.colibri.actor.defs#plateView.color", kind: "prop", name: Some("color") }
- RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "social.colibri.actor.defs#plateView", src: "social.colibri.actor.defs#plateView", tgt: "social.colibri.actor.defs#plateView.name", kind: "prop", name: Some("name") }
- RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "social.colibri.actor.defs#plateView", src: "social.colibri.actor.defs#plateView", tgt: "social.colibri.actor.defs#plateView.picture", kind: "prop", name: Some("picture") }
Non-Breaking Changes (9)
- AddedVertex AddedVertex { vertex_id: "lex:social.colibri.actor.defs#plateView" }
- AddedVertex AddedVertex { vertex_id: "social.colibri.actor.defs#plateView" }
- AddedVertex AddedVertex { vertex_id: "social.colibri.actor.defs#plateView.color" }
- AddedVertex AddedVertex { vertex_id: "social.colibri.actor.defs#plateView.name" }
- AddedVertex AddedVertex { vertex_id: "social.colibri.actor.defs#plateView.picture" }
- AddedVertex AddedVertex { vertex_id: "social.colibri.actor.defs#plateView.uri" }
- AddedVertex AddedVertex { vertex_id: "social.colibri.actor.defs#profileTheme.plate" }
- AddedEdge AddedEdge { src: "social.colibri.actor.defs#profileTheme", tgt: "social.colibri.actor.defs#profileTheme.plate", kind: "prop", name: Some("plate") }
- AddedEdge AddedEdge { src: "social.colibri.actor.defs#profileTheme.plate", tgt: "lex:social.colibri.actor.defs#plateView", kind: "ref", name: None }
Migration Guidance
Added Elements
AddedVertex { vertex_id: "lex:social.colibri.actor.defs#plateView" }AddedVertex { vertex_id: "social.colibri.actor.defs#plateView" }AddedVertex { vertex_id: "social.colibri.actor.defs#plateView.color" }AddedVertex { vertex_id: "social.colibri.actor.defs#plateView.name" }AddedVertex { vertex_id: "social.colibri.actor.defs#plateView.picture" }AddedVertex { vertex_id: "social.colibri.actor.defs#plateView.uri" }AddedVertex { vertex_id: "social.colibri.actor.defs#profileTheme.plate" }
Additional Notes
- Breaking: RequiredEdgeAdded { vertex_id: "social.colibri.actor.defs#plateView", src: "social.colibri.actor.defs#plateView", tgt: "social.colibri.actor.defs#plateView.uri", kind: "prop", name: Some("uri") }
- Breaking: RequiredEdgeAdded { vertex_id: "social.colibri.actor.defs#plateView", src: "social.colibri.actor.defs#plateView", tgt: "social.colibri.actor.defs#plateView.color", kind: "prop", name: Some("color") }
- Breaking: RequiredEdgeAdded { vertex_id: "social.colibri.actor.defs#plateView", src: "social.colibri.actor.defs#plateView", tgt: "social.colibri.actor.defs#plateView.name", kind: "prop", name: Some("name") }
- Breaking: RequiredEdgeAdded { vertex_id: "social.colibri.actor.defs#plateView", src: "social.colibri.actor.defs#plateView", tgt: "social.colibri.actor.defs#plateView.picture", kind: "prop", name: Some("picture") }
- Non-breaking: AddedEdge { src: "social.colibri.actor.defs#profileTheme", tgt: "social.colibri.actor.defs#profileTheme.plate", kind: "prop", name: Some("plate") }
- Non-breaking: AddedEdge { src: "social.colibri.actor.defs#profileTheme.plate", tgt: "lex:social.colibri.actor.defs#plateView", kind: "ref", name: None }
1
1
{
2
2
"id": "social.colibri.actor.defs",
3
3
"defs": {
4
4
"actorData": {
5
5
"type": "object",
6
6
"required": [
7
7
"displayName",
8
8
"isBot",
9
9
"onlineState",
10
10
"syncBluesky",
11
11
"status"
12
12
],
13
13
"properties": {
14
14
"isBot": {
15
15
"type": "boolean"
16
16
},
17
17
"theme": {
18
18
"ref": "lex:social.colibri.actor.defs#profileTheme",
19
19
"type": "ref"
20
20
},
21
21
"avatar": {
22
22
"type": "blob"
23
23
},
24
24
"banner": {
25
25
"type": "blob"
26
26
},
27
27
"status": {
28
28
"ref": "lex:social.colibri.actor.defs#actorStatus",
29
29
"type": "ref"
30
30
},
31
31
"description": {
32
32
"type": "string"
33
33
},
34
34
"displayName": {
35
35
"type": "string"
36
36
},
37
37
"onlineState": {
38
38
"type": "string",
39
39
"knownValues": [
40
40
"online",
41
41
"away",
42
42
"dnd",
43
43
"offline"
44
44
]
45
45
},
46
46
"syncBluesky": {
47
47
"type": "boolean"
48
48
},
49
49
"preferredBadge": {
50
50
"type": "string"
51
51
}
52
52
},
53
53
"description": "The profile and presence data for a Colibri actor."
54
54
},
55
55
"actorView": {
56
56
"type": "object",
57
57
"required": [
58
58
"did",
59
59
"handle",
60
60
"data"
61
61
],
62
62
"properties": {
63
63
"did": {
64
64
"type": "string",
65
65
"format": "did"
66
66
},
67
67
"data": {
68
68
"ref": "lex:social.colibri.actor.defs#actorData",
69
69
"type": "ref"
70
70
},
71
71
"handle": {
72
72
"type": "string",
73
73
"format": "handle"
74
74
}
75
75
},
76
76
"description": "A hydrated Colibri actor: identity plus profile data."
77
77
},
78
+
"plateView": {
79
+
"type": "object",
80
+
"required": [
81
+
"uri",
82
+
"name",
83
+
"color",
84
+
"picture"
85
+
],
86
+
"properties": {
87
+
"uri": {
88
+
"type": "string",
89
+
"format": "at-uri"
90
+
},
91
+
"name": {
92
+
"type": "string"
93
+
},
94
+
"color": {
95
+
"type": "string"
96
+
},
97
+
"picture": {
98
+
"type": "blob"
99
+
}
100
+
},
101
+
"description": "The name plate the actor has selected, resolved from the `social.colibri.actor.plate` record their profile points at. The picture blob lives in the actor's own repo, so it resolves against the same DID as their avatar."
102
+
},
78
103
"actorStatus": {
79
104
"type": "object",
80
105
"required": [
81
106
"text"
82
107
],
83
108
"properties": {
84
109
"text": {
85
110
"type": "string"
86
111
},
87
112
"emoji": {
88
113
"type": "string"
89
114
}
90
115
},
91
116
"description": "A user's Colibri status line."
92
117
},
93
118
"profileTheme": {
94
119
"type": "object",
95
120
"properties": {
121
+
"plate": {
122
+
"ref": "lex:social.colibri.actor.defs#plateView",
123
+
"type": "ref"
124
+
},
96
125
"gradient": {
97
126
"ref": "lex:social.colibri.actor.defs#profileGradient",
98
127
"type": "ref"
99
128
},
100
129
"accentColor": {
101
130
"type": "string"
102
131
},
103
132
"bannerColor": {
104
133
"type": "string"
105
134
}
106
135
},
107
136
"description": "Colibri-only profile theming."
108
137
},
109
138
"profileGradient": {
110
139
"type": "object",
111
140
"properties": {
112
141
"primary": {
113
142
"type": "string"
114
143
},
115
144
"secondary": {
116
145
"type": "string"
117
146
}
118
147
},
119
148
"description": "Two-color gradient profile theme."
120
149
}
121
150
},
122
151
"$type": "com.atproto.lexicon.schema",
123
152
"lexicon": 1
124
153
}