social.colibri.community.defs

colibri.social

Schema Diff

+14 -0

From

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

To

CID
bafyreie76f7eaxm...
Indexed At
2026-07-29 16:12 UTC
View this version

Compatibility Analysis

Backward Compatible

Backward compatible. 8 non-breaking changes.

Non-Breaking Changes (8)
  • AddedVertex AddedVertex { vertex_id: "social.colibri.community.defs#communityInfo.banner" }
  • 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#communityInfo", tgt: "social.colibri.community.defs#communityInfo.banner", kind: "prop", name: Some("banner") }
  • 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#communityInfo.banner" }
  • 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#communityInfo", tgt: "social.colibri.community.defs#communityInfo.banner", kind: "prop", name: Some("banner") }
  • 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
        },
121 129
        "description": {
122 130
          "type": "string"
123 131
        },
124 132
        "allowedRoles": {
125 133
          "type": "array",
126 134
          "items": {
127 135
            "type": "string",
128 136
            "format": "at-uri"
129 137
          }
130 138
        },
131 139
        "allowedMembers": {
132 140
          "type": "array",
133 141
          "items": {
134 142
            "type": "string",
135 143
            "format": "did"
136 144
          }
137 145
        }
138 146
      }
139 147
    },
140 148
    "categoryView": {
141 149
      "type": "object",
142 150
      "required": [
143 151
        "uri",
144 152
        "name",
145 153
        "channelOrder"
146 154
      ],
147 155
      "properties": {
148 156
        "uri": {
149 157
          "type": "string",
150 158
          "format": "at-uri"
151 159
        },
152 160
        "name": {
153 161
          "type": "string"
154 162
        },
155 163
        "channelOrder": {
156 164
          "type": "array",
157 165
          "items": {
158 166
            "type": "string",
159 167
            "format": "at-uri"
160 168
          }
161 169
        }
162 170
      }
163 171
    },
164 172
    "communityInfo": {
165 173
      "type": "object",
166 174
      "required": [
167 175
        "uri",
168 176
        "name",
169 177
        "description",
170 178
        "categoryOrder",
171 179
        "requiresApprovalToJoin",
172 180
        "appview"
173 181
      ],
174 182
      "properties": {
175 183
        "uri": {
176 184
          "type": "string",
177 185
          "format": "at-uri"
178 186
        },
179 187
        "name": {
180 188
          "type": "string"
181 189
        },
190 +
        "banner": {
191 +
          "type": "blob"
192 +
        },
182 193
        "appview": {
183 194
          "type": "string",
184 195
          "format": "did"
185 196
        },
186 197
        "picture": {
187 198
          "type": "blob"
188 199
        },
189 200
        "description": {
190 201
          "type": "string"
191 202
        },
192 203
        "categoryOrder": {
193 204
          "type": "array",
194 205
          "items": {
195 206
            "type": "string",
196 207
            "format": "at-uri"
197 208
          }
198 209
        },
199 210
        "requiresApprovalToJoin": {
200 211
          "type": "boolean"
201 212
        }
202 213
      },
203 214
      "description": "Core community record data, hydrated with its AT-URI."
204 215
    },
205 216
    "invitationView": {
206 217
      "type": "object",
207 218
      "required": [
208 219
        "code",
209 220
        "community",
210 221
        "createdBy",
211 222
        "active"
212 223
      ],
213 224
      "properties": {
214 225
        "code": {
215 226
          "type": "string"
216 227
        },
217 228
        "active": {
218 229
          "type": "boolean"
219 230
        },
220 231
        "community": {
221 232
          "type": "string",
222 233
          "format": "at-uri"
223 234
        },
224 235
        "createdBy": {
225 236
          "type": "string",
226 237
          "format": "did"
227 238
        }
228 239
      },
229 240
      "description": "An invitation with its creator as a bare DID."
230 241
    },
231 242
    "applicationView": {
232 243
      "type": "object",
233 244
      "required": [
234 245
        "did",
235 246
        "handle",
236 247
        "membership",
237 248
        "createdAt",
238 249
        "data"
239 250
      ],
240 251
      "properties": {
241 252
        "did": {
242 253
          "type": "string",
243 254
          "format": "did"
244 255
        },
245 256
        "data": {
246 257
          "ref": "lex:social.colibri.actor.defs#actorData",
247 258
          "type": "ref"
248 259
        },
249 260
        "handle": {
250 261
          "type": "string",
251 262
          "format": "handle"
252 263
        },
253 264
        "createdAt": {
254 265
          "type": "string",
255 266
          "format": "datetime"
256 267
        },
257 268
        "membership": {
258 269
          "type": "string",
259 270
          "format": "at-uri"
260 271
        }
261 272
      },
262 273
      "description": "A pending or dismissed membership application."
263 274
    },
264 275
    "channelOverrideView": {
265 276
      "type": "object",
266 277
      "required": [
267 278
        "channel"
268 279
      ],
269 280
      "properties": {
270 281
        "deny": {
271 282
          "type": "array",
272 283
          "items": {
273 284
            "type": "string"
274 285
          }
275 286
        },
276 287
        "allow": {
277 288
          "type": "array",
278 289
          "items": {
279 290
            "type": "string"
280 291
          }
281 292
        },
282 293
        "channel": {
283 294
          "type": "string",
284 295
          "format": "at-uri"
285 296
        }
286 297
      }
287 298
    },
288 299
    "invitationProfileView": {
289 300
      "type": "object",
290 301
      "required": [
291 302
        "code",
292 303
        "community",
293 304
        "createdBy",
294 305
        "active"
295 306
      ],
296 307
      "properties": {
297 308
        "code": {
298 309
          "type": "string"
299 310
        },
300 311
        "active": {
301 312
          "type": "boolean"
302 313
        },
303 314
        "community": {
304 315
          "type": "string",
305 316
          "format": "at-uri"
306 317
        },
307 318
        "createdBy": {
308 319
          "ref": "lex:social.colibri.actor.defs#actorView",
309 320
          "type": "ref"
310 321
        }
311 322
      },
312 323
      "description": "An invitation with its creator hydrated as an actor."
313 324
    },
314 325
    "resolvedInvitationView": {
315 326
      "type": "object",
316 327
      "required": [
317 328
        "code",
318 329
        "community",
319 330
        "createdBy",
320 331
        "active",
321 332
        "name",
322 333
        "memberCount",
323 334
        "onlineCount",
324 335
        "requiresApprovalToJoin"
325 336
      ],
326 337
      "properties": {
327 338
        "code": {
328 339
          "type": "string"
329 340
        },
330 341
        "name": {
331 342
          "type": "string"
332 343
        },
333 344
        "active": {
334 345
          "type": "boolean"
335 346
        },
347 +
        "banner": {
348 +
          "type": "blob"
349 +
        },
336 350
        "picture": {
337 351
          "type": "blob"
338 352
        },
339 353
        "community": {
340 354
          "type": "string",
341 355
          "format": "at-uri"
342 356
        },
343 357
        "createdBy": {
344 358
          "type": "string",
345 359
          "format": "did"
346 360
        },
347 361
        "memberCount": {
348 362
          "type": "integer"
349 363
        },
350 364
        "onlineCount": {
351 365
          "type": "integer"
352 366
        },
353 367
        "requiresApprovalToJoin": {
354 368
          "type": "boolean"
355 369
        }
356 370
      },
357 371
      "description": "An invitation hydrated with its community's public details, for the invite accept screen."
358 372
    }
359 373
  },
360 374
  "$type": "com.atproto.lexicon.schema",
361 375
  "lexicon": 1
362 376
}

Compare Other Versions

Lexicon Garden

@