social.colibri.beta.actor.defs
Schema Diff
+3 -3
Compatibility Analysis
Breaking Changes Detected
2 breaking changes, 2 non-breaking changes.
Breaking Changes (2)
- KindChanged KindChanged { vertex_id: "social.colibri.beta.actor.defs#preferences.gifFavorites:items", old_kind: "string", new_kind: "ref" }
- ConstraintAdded ConstraintAdded { vertex_id: "social.colibri.beta.actor.defs#preferences.gifFavorites:items", sort: "ref", value: "social.colibri.beta.embed.defs#gifView" }
Non-Breaking Changes (2)
- AddedVertex AddedVertex { vertex_id: "social.colibri.beta.embed.defs#gifView" }
- AddedEdge AddedEdge { src: "social.colibri.beta.actor.defs#preferences.gifFavorites:items", tgt: "social.colibri.beta.embed.defs#gifView", kind: "ref", name: None }
Migration Guidance
Added Elements
AddedVertex { vertex_id: "social.colibri.beta.embed.defs#gifView" }
Constraint Changes
- ConstraintAdded ConstraintAdded { vertex_id: "social.colibri.beta.actor.defs#preferences.gifFavorites:items", sort: "ref", value: "social.colibri.beta.embed.defs#gifView" }
Additional Notes
- Breaking: KindChanged { vertex_id: "social.colibri.beta.actor.defs#preferences.gifFavorites:items", old_kind: "string", new_kind: "ref" }
- Non-breaking: AddedEdge { src: "social.colibri.beta.actor.defs#preferences.gifFavorites:items", tgt: "social.colibri.beta.embed.defs#gifView", kind: "ref", name: None }
1
1
{
2
2
"id": "social.colibri.beta.actor.defs",
3
3
"defs": {
4
4
"mute": {
5
5
"type": "object",
6
6
"required": [
7
7
"subject",
8
8
"createdAt"
9
9
],
10
10
"properties": {
11
11
"subject": {
12
12
"type": "string",
13
13
"format": "did",
14
14
"description": "The muted user or community."
15
15
},
16
16
"createdAt": {
17
17
"type": "string",
18
18
"format": "datetime",
19
19
"description": "When the mute was created."
20
20
}
21
21
},
22
22
"description": "A muted subject."
23
23
},
24
24
"status": {
25
25
"type": "object",
26
26
"required": [
27
27
"text"
28
28
],
29
29
"properties": {
30
30
"text": {
31
31
"type": "string",
32
32
"maxLength": 32,
33
33
"description": "The status text."
34
34
},
35
35
"emoji": {
36
36
"type": "string",
37
37
"description": "An emoji shown beside the status."
38
38
}
39
39
},
40
40
"description": "A user's status line."
41
41
},
42
42
"presence": {
43
43
"type": "object",
44
44
"required": [
45
45
"onlineState"
46
46
],
47
47
"properties": {
48
48
"voice": {
49
49
"ref": "#voiceState",
50
50
"type": "ref",
51
51
"description": "Where the user is connected for voice, if anywhere."
52
52
},
53
53
"status": {
54
54
"ref": "#status",
55
55
"type": "ref",
56
56
"description": "The user's status line."
57
57
},
58
58
"onlineState": {
59
59
"type": "string",
60
60
"description": "Derived online state.",
61
61
"knownValues": [
62
62
"online",
63
63
"away",
64
64
"dnd",
65
65
"offline"
66
66
]
67
67
}
68
68
},
69
69
"description": "A user's live, off-protocol state."
70
70
},
71
71
"voiceState": {
72
72
"type": "object",
73
73
"required": [
74
74
"channel"
75
75
],
76
76
"properties": {
77
77
"muted": {
78
78
"type": "boolean",
79
79
"description": "Whether the user has muted their microphone."
80
80
},
81
81
"channel": {
82
82
"type": "string",
83
83
"format": "space-ref",
84
84
"description": "The voice channel the user is connected to."
85
85
},
86
86
"deafened": {
87
87
"type": "boolean",
88
88
"description": "Whether the user has deafened themselves."
89
89
}
90
90
},
91
91
"description": "A user's voice connection."
92
92
},
93
93
"preferences": {
94
94
"type": "object",
95
95
"required": [
96
96
"notificationLevel",
97
97
"communityOrder",
98
98
"mutes",
99
99
"gifFavorites"
100
100
],
101
101
"properties": {
102
102
"mutes": {
103
103
"type": "array",
104
104
"items": {
105
105
"ref": "#mute",
106
106
"type": "ref"
107
107
},
108
108
"description": "Subjects the user has muted."
109
109
},
110
110
"gifFavorites": {
111
111
"type": "array",
112
112
"items": {
113
-
"type": "string",
114
-
"description": "A GIF identifier."
113
+
"ref": "social.colibri.beta.embed.defs#gifView",
114
+
"type": "ref"
115
115
},
116
-
"description": "GIFs saved from the picker."
116
+
"description": "GIFs saved from the picker, stored whole."
117
117
},
118
118
"communityOrder": {
119
119
"type": "array",
120
120
"items": {
121
121
"type": "string",
122
122
"format": "did",
123
123
"description": "A community."
124
124
},
125
125
"description": "Communities in preferred sidebar order."
126
126
},
127
127
"notificationLevel": {
128
128
"type": "string",
129
129
"description": "Which messages produce a notification.",
130
130
"knownValues": [
131
131
"all",
132
132
"mentionsAndReplies"
133
133
]
134
134
}
135
135
},
136
136
"description": "The authenticated user's own settings, as the AppView currently holds them."
137
137
},
138
138
"profileView": {
139
139
"type": "object",
140
140
"required": [
141
141
"did",
142
142
"handle",
143
143
"displayName",
144
144
"isBot",
145
145
"syncBluesky"
146
146
],
147
147
"properties": {
148
148
"did": {
149
149
"type": "string",
150
150
"format": "did",
151
151
"description": "The user's DID."
152
152
},
153
153
"isBot": {
154
154
"type": "boolean",
155
155
"description": "Whether the account is labelled as an automated account."
156
156
},
157
157
"theme": {
158
158
"ref": "social.colibri.beta.actor.profile#theme",
159
159
"type": "ref",
160
160
"description": "Colibri-only profile theming, read from the profile record even when the mirrored fields come from Bluesky."
161
161
},
162
162
"avatar": {
163
163
"type": "string",
164
164
"format": "uri",
165
165
"description": "URL of the user's avatar, served by this AppView's blob proxy."
166
166
},
167
167
"banner": {
168
168
"type": "string",
169
169
"format": "uri",
170
170
"description": "URL of the user's profile banner, served by this AppView's blob proxy."
171
171
},
172
172
"handle": {
173
173
"type": "string",
174
174
"format": "handle",
175
175
"description": "The user's handle, or 'handle.invalid' when it does not resolve."
176
176
},
177
177
"presence": {
178
178
"ref": "#presence",
179
179
"type": "ref",
180
180
"description": "Live presence, when the AppView is tracking any."
181
181
},
182
182
"description": {
183
183
"type": "string",
184
184
"description": "Resolved bio."
185
185
},
186
186
"displayName": {
187
187
"type": "string",
188
188
"description": "Resolved display name, falling back to the handle."
189
189
},
190
190
"syncBluesky": {
191
191
"type": "boolean",
192
192
"description": "Whether the mirrored profile fields come from app.bsky.actor.profile."
193
193
},
194
194
"preferredBadge": {
195
195
"type": "string",
196
196
"description": "Label value of the badge the user chose to display."
197
197
}
198
198
},
199
199
"description": "A Colibri user as the AppView serves them: identity, resolved profile, and presence."
200
200
}
201
201
},
202
202
"$type": "com.atproto.lexicon.schema",
203
203
"lexicon": 1
204
204
}