social.colibri.community.defs

colibri.social

Schema Diff

+20 -0

From

CID
bafyreiflrbbdgot...
Indexed At
2026-07-24 14:44 UTC
View this version

To

CID
bafyreif6plmc24j...
Indexed At
2026-08-15 22:24 UTC
View this version

Compatibility Analysis

Backward Compatible

Backward compatible. 12 non-breaking changes.

Non-Breaking Changes (12)
  • AddedVertex AddedVertex { vertex_id: "social.colibri.community.defs#channelView.linkEmbeds" }
  • AddedVertex AddedVertex { vertex_id: "social.colibri.community.defs#communityInfo.banner" }
  • AddedVertex AddedVertex { vertex_id: "social.colibri.community.defs#communityInfo.linkEmbeds" }
  • AddedVertex AddedVertex { vertex_id: "social.colibri.community.defs#memberView.vcServerDeafened" }
  • AddedVertex AddedVertex { vertex_id: "social.colibri.community.defs#memberView.vcServerMuted" }
  • AddedVertex AddedVertex { vertex_id: "social.colibri.community.defs#resolvedInvitationView.banner" }
  • AddedEdge AddedEdge { src: "social.colibri.community.defs#channelView", tgt: "social.colibri.community.defs#channelView.linkEmbeds", kind: "prop", name: Some("linkEmbeds") }
  • AddedEdge AddedEdge { src: "social.colibri.community.defs#communityInfo", tgt: "social.colibri.community.defs#communityInfo.banner", kind: "prop", name: Some("banner") }
  • AddedEdge AddedEdge { src: "social.colibri.community.defs#communityInfo", tgt: "social.colibri.community.defs#communityInfo.linkEmbeds", kind: "prop", name: Some("linkEmbeds") }
  • AddedEdge AddedEdge { src: "social.colibri.community.defs#memberView", tgt: "social.colibri.community.defs#memberView.vcServerDeafened", kind: "prop", name: Some("vcServerDeafened") }
  • AddedEdge AddedEdge { src: "social.colibri.community.defs#memberView", tgt: "social.colibri.community.defs#memberView.vcServerMuted", kind: "prop", name: Some("vcServerMuted") }
  • AddedEdge AddedEdge { src: "social.colibri.community.defs#resolvedInvitationView", tgt: "social.colibri.community.defs#resolvedInvitationView.banner", kind: "prop", name: Some("banner") }

Migration Guidance

Added Elements

  • AddedVertex { vertex_id: "social.colibri.community.defs#channelView.linkEmbeds" }
  • AddedVertex { vertex_id: "social.colibri.community.defs#communityInfo.banner" }
  • AddedVertex { vertex_id: "social.colibri.community.defs#communityInfo.linkEmbeds" }
  • AddedVertex { vertex_id: "social.colibri.community.defs#memberView.vcServerDeafened" }
  • AddedVertex { vertex_id: "social.colibri.community.defs#memberView.vcServerMuted" }
  • AddedVertex { vertex_id: "social.colibri.community.defs#resolvedInvitationView.banner" }

Additional Notes

  • Non-breaking: AddedEdge { src: "social.colibri.community.defs#channelView", tgt: "social.colibri.community.defs#channelView.linkEmbeds", kind: "prop", name: Some("linkEmbeds") }
  • Non-breaking: AddedEdge { src: "social.colibri.community.defs#communityInfo", tgt: "social.colibri.community.defs#communityInfo.banner", kind: "prop", name: Some("banner") }
  • Non-breaking: AddedEdge { src: "social.colibri.community.defs#communityInfo", tgt: "social.colibri.community.defs#communityInfo.linkEmbeds", kind: "prop", name: Some("linkEmbeds") }
  • Non-breaking: AddedEdge { src: "social.colibri.community.defs#memberView", tgt: "social.colibri.community.defs#memberView.vcServerDeafened", kind: "prop", name: Some("vcServerDeafened") }
  • Non-breaking: AddedEdge { src: "social.colibri.community.defs#memberView", tgt: "social.colibri.community.defs#memberView.vcServerMuted", kind: "prop", name: Some("vcServerMuted") }
  • Non-breaking: AddedEdge { src: "social.colibri.community.defs#resolvedInvitationView", tgt: "social.colibri.community.defs#resolvedInvitationView.banner", kind: "prop", name: Some("banner") }
1 1
{
2 2
  "id": "social.colibri.community.defs",
3 3
  "defs": {
4 4
    "roleView": {
5 5
      "type": "object",
6 6
      "required": [
7 7
        "uri",
8 8
        "name",
9 9
        "permissions",
10 10
        "position"
11 11
      ],
12 12
      "properties": {
13 13
        "uri": {
14 14
          "type": "string",
15 15
          "format": "at-uri"
16 16
        },
17 17
        "name": {
18 18
          "type": "string"
19 19
        },
20 20
        "color": {
21 21
          "type": "string"
22 22
        },
23 23
        "hoisted": {
24 24
          "type": "boolean"
25 25
        },
26 26
        "position": {
27 27
          "type": "integer"
28 28
        },
29 29
        "protected": {
30 30
          "type": "boolean"
31 31
        },
32 32
        "mentionable": {
33 33
          "type": "boolean"
34 34
        },
35 35
        "permissions": {
36 36
          "type": "array",
37 37
          "items": {
38 38
            "type": "string"
39 39
          }
40 40
        },
41 41
        "channelOverrides": {
42 42
          "type": "array",
43 43
          "items": {
44 44
            "ref": "lex:social.colibri.community.defs#channelOverrideView",
45 45
            "type": "ref"
46 46
          }
47 47
        }
48 48
      }
49 49
    },
50 50
    "memberView": {
51 51
      "type": "object",
52 52
      "required": [
53 53
        "did",
54 54
        "handle",
55 55
        "roles",
56 56
        "data"
57 57
      ],
58 58
      "properties": {
59 59
        "vc": {
60 60
          "type": "string",
61 61
          "format": "at-uri",
62 62
          "description": "AT-URI of the voice channel the member is currently connected to, if any."
63 63
        },
64 64
        "did": {
65 65
          "type": "string",
66 66
          "format": "did"
67 67
        },
68 68
        "data": {
69 69
          "ref": "lex:social.colibri.actor.defs#actorData",
70 70
          "type": "ref"
71 71
        },
72 72
        "roles": {
73 73
          "type": "array",
74 74
          "items": {
75 75
            "type": "string",
76 76
            "format": "at-uri"
77 77
          }
78 78
        },
79 79
        "handle": {
80 80
          "type": "string",
81 81
          "format": "handle"
82 82
        },
83 83
        "vcMuted": {
84 84
          "type": "boolean",
85 85
          "description": "Whether the member's microphone is muted in the voice channel."
86 86
        },
87 87
        "vcDeafened": {
88 88
          "type": "boolean",
89 89
          "description": "Whether the member is deafened in the voice channel."
90 +
        },
91 +
        "vcServerMuted": {
92 +
          "type": "boolean",
93 +
          "description": "Whether the member has been server-muted by a moderator in the voice channel."
94 +
        },
95 +
        "vcServerDeafened": {
96 +
          "type": "boolean",
97 +
          "description": "Whether the member has been server-deafened by a moderator in the voice channel."
90 98
        }
91 99
      },
92 100
      "description": "A community member, hydrated with their actor data."
93 101
    },
94 102
    "channelView": {
95 103
      "type": "object",
96 104
      "required": [
97 105
        "uri",
98 106
        "name",
99 107
        "type",
100 108
        "category"
101 109
      ],
102 110
      "properties": {
103 111
        "uri": {
104 112
          "type": "string",
105 113
          "format": "at-uri"
106 114
        },
107 115
        "name": {
108 116
          "type": "string"
109 117
        },
110 118
        "type": {
111 119
          "type": "string",
112 120
          "format": "nsid"
113 121
        },
114 122
        "category": {
115 123
          "type": "string",
116 124
          "format": "at-uri"
117 125
        },
118 126
        "ownerOnly": {
119 127
          "type": "boolean"
120 128
        },
129 +
        "linkEmbeds": {
130 +
          "type": "boolean"
131 +
        },
121 132
        "description": {
122 133
          "type": "string"
123 134
        },
124 135
        "allowedRoles": {
125 136
          "type": "array",
126 137
          "items": {
127 138
            "type": "string",
128 139
            "format": "at-uri"
129 140
          }
130 141
        },
131 142
        "allowedMembers": {
132 143
          "type": "array",
133 144
          "items": {
134 145
            "type": "string",
135 146
            "format": "did"
136 147
          }
137 148
        }
138 149
      }
139 150
    },
140 151
    "categoryView": {
141 152
      "type": "object",
142 153
      "required": [
143 154
        "uri",
144 155
        "name",
145 156
        "channelOrder"
146 157
      ],
147 158
      "properties": {
148 159
        "uri": {
149 160
          "type": "string",
150 161
          "format": "at-uri"
151 162
        },
152 163
        "name": {
153 164
          "type": "string"
154 165
        },
155 166
        "channelOrder": {
156 167
          "type": "array",
157 168
          "items": {
158 169
            "type": "string",
159 170
            "format": "at-uri"
160 171
          }
161 172
        }
162 173
      }
163 174
    },
164 175
    "communityInfo": {
165 176
      "type": "object",
166 177
      "required": [
167 178
        "uri",
168 179
        "name",
169 180
        "description",
170 181
        "categoryOrder",
171 182
        "requiresApprovalToJoin",
172 183
        "appview"
173 184
      ],
174 185
      "properties": {
175 186
        "uri": {
176 187
          "type": "string",
177 188
          "format": "at-uri"
178 189
        },
179 190
        "name": {
180 191
          "type": "string"
181 192
        },
193 +
        "banner": {
194 +
          "type": "blob"
195 +
        },
182 196
        "appview": {
183 197
          "type": "string",
184 198
          "format": "did"
185 199
        },
186 200
        "picture": {
187 201
          "type": "blob"
188 202
        },
203 +
        "linkEmbeds": {
204 +
          "type": "boolean"
205 +
        },
189 206
        "description": {
190 207
          "type": "string"
191 208
        },
192 209
        "categoryOrder": {
193 210
          "type": "array",
194 211
          "items": {
195 212
            "type": "string",
196 213
            "format": "at-uri"
197 214
          }
198 215
        },
199 216
        "requiresApprovalToJoin": {
200 217
          "type": "boolean"
201 218
        }
202 219
      },
203 220
      "description": "Core community record data, hydrated with its AT-URI."
204 221
    },
205 222
    "invitationView": {
206 223
      "type": "object",
207 224
      "required": [
208 225
        "code",
209 226
        "community",
210 227
        "createdBy",
211 228
        "active"
212 229
      ],
213 230
      "properties": {
214 231
        "code": {
215 232
          "type": "string"
216 233
        },
217 234
        "active": {
218 235
          "type": "boolean"
219 236
        },
220 237
        "community": {
221 238
          "type": "string",
222 239
          "format": "at-uri"
223 240
        },
224 241
        "createdBy": {
225 242
          "type": "string",
226 243
          "format": "did"
227 244
        }
228 245
      },
229 246
      "description": "An invitation with its creator as a bare DID."
230 247
    },
231 248
    "applicationView": {
232 249
      "type": "object",
233 250
      "required": [
234 251
        "did",
235 252
        "handle",
236 253
        "membership",
237 254
        "createdAt",
238 255
        "data"
239 256
      ],
240 257
      "properties": {
241 258
        "did": {
242 259
          "type": "string",
243 260
          "format": "did"
244 261
        },
245 262
        "data": {
246 263
          "ref": "lex:social.colibri.actor.defs#actorData",
247 264
          "type": "ref"
248 265
        },
249 266
        "handle": {
250 267
          "type": "string",
251 268
          "format": "handle"
252 269
        },
253 270
        "createdAt": {
254 271
          "type": "string",
255 272
          "format": "datetime"
256 273
        },
257 274
        "membership": {
258 275
          "type": "string",
259 276
          "format": "at-uri"
260 277
        }
261 278
      },
262 279
      "description": "A pending or dismissed membership application."
263 280
    },
264 281
    "channelOverrideView": {
265 282
      "type": "object",
266 283
      "required": [
267 284
        "channel"
268 285
      ],
269 286
      "properties": {
270 287
        "deny": {
271 288
          "type": "array",
272 289
          "items": {
273 290
            "type": "string"
274 291
          }
275 292
        },
276 293
        "allow": {
277 294
          "type": "array",
278 295
          "items": {
279 296
            "type": "string"
280 297
          }
281 298
        },
282 299
        "channel": {
283 300
          "type": "string",
284 301
          "format": "at-uri"
285 302
        }
286 303
      }
287 304
    },
288 305
    "invitationProfileView": {
289 306
      "type": "object",
290 307
      "required": [
291 308
        "code",
292 309
        "community",
293 310
        "createdBy",
294 311
        "active"
295 312
      ],
296 313
      "properties": {
297 314
        "code": {
298 315
          "type": "string"
299 316
        },
300 317
        "active": {
301 318
          "type": "boolean"
302 319
        },
303 320
        "community": {
304 321
          "type": "string",
305 322
          "format": "at-uri"
306 323
        },
307 324
        "createdBy": {
308 325
          "ref": "lex:social.colibri.actor.defs#actorView",
309 326
          "type": "ref"
310 327
        }
311 328
      },
312 329
      "description": "An invitation with its creator hydrated as an actor."
313 330
    },
314 331
    "resolvedInvitationView": {
315 332
      "type": "object",
316 333
      "required": [
317 334
        "code",
318 335
        "community",
319 336
        "createdBy",
320 337
        "active",
321 338
        "name",
322 339
        "memberCount",
323 340
        "onlineCount",
324 341
        "requiresApprovalToJoin"
325 342
      ],
326 343
      "properties": {
327 344
        "code": {
328 345
          "type": "string"
329 346
        },
330 347
        "name": {
331 348
          "type": "string"
332 349
        },
333 350
        "active": {
334 351
          "type": "boolean"
335 352
        },
353 +
        "banner": {
354 +
          "type": "blob"
355 +
        },
336 356
        "picture": {
337 357
          "type": "blob"
338 358
        },
339 359
        "community": {
340 360
          "type": "string",
341 361
          "format": "at-uri"
342 362
        },
343 363
        "createdBy": {
344 364
          "type": "string",
345 365
          "format": "did"
346 366
        },
347 367
        "memberCount": {
348 368
          "type": "integer"
349 369
        },
350 370
        "onlineCount": {
351 371
          "type": "integer"
352 372
        },
353 373
        "requiresApprovalToJoin": {
354 374
          "type": "boolean"
355 375
        }
356 376
      },
357 377
      "description": "An invitation hydrated with its community's public details, for the invite accept screen."
358 378
    }
359 379
  },
360 380
  "$type": "com.atproto.lexicon.schema",
361 381
  "lexicon": 1
362 382
}

Compare Other Versions

Lexicon Garden

@