full diff

social.colibri.beta.role

colibri.social +19 −1
From
bafyreibjnbdehc7qrayecudj24przlzibepas3rozmmzoztxbzzr42hjf4 indexed 2026-10-18 13:08 UTC View this version
To
bafyreig64cfjfz2xosxspe6iujf3duarq24hmqocmjgvtaov5h7k2l3nya indexed 2026-10-24 10:36 UTC View this version

Compatibility

backward compatible Backward compatible. 10 non-breaking changes.

Non-breaking changes (10)
  • AddedVertex AddedVertex { vertex_id: "social.colibri.beta.richtext.facet#customEmoji" }
  • AddedVertex AddedVertex { vertex_id: "social.colibri.beta.role#emojiBadge" }
  • AddedVertex AddedVertex { vertex_id: "social.colibri.beta.role#emojiBadge.customEmoji" }
  • AddedVertex AddedVertex { vertex_id: "social.colibri.beta.role#emojiBadge.emoji" }
  • AddedVertex AddedVertex { vertex_id: "social.colibri.beta.role:body.badge:variant2" }
  • AddedEdge AddedEdge { src: "social.colibri.beta.role#emojiBadge", tgt: "social.colibri.beta.role#emojiBadge.customEmoji", kind: "prop", name: Some("customEmoji") }
  • AddedEdge AddedEdge { src: "social.colibri.beta.role#emojiBadge", tgt: "social.colibri.beta.role#emojiBadge.emoji", kind: "prop", name: Some("emoji") }
  • AddedEdge AddedEdge { src: "social.colibri.beta.role#emojiBadge.customEmoji", tgt: "social.colibri.beta.richtext.facet#customEmoji", kind: "ref", name: None }
  • AddedEdge AddedEdge { src: "social.colibri.beta.role:body.badge", tgt: "social.colibri.beta.role:body.badge:variant2", kind: "variant", name: Some("#emojiBadge") }
  • AddedEdge AddedEdge { src: "social.colibri.beta.role:body.badge:variant2", tgt: "social.colibri.beta.role#emojiBadge", kind: "ref", name: None }

Migration guidance

Added

  • AddedVertex { vertex_id: "social.colibri.beta.richtext.facet#customEmoji" }
  • AddedVertex { vertex_id: "social.colibri.beta.role#emojiBadge" }
  • AddedVertex { vertex_id: "social.colibri.beta.role#emojiBadge.customEmoji" }
  • AddedVertex { vertex_id: "social.colibri.beta.role#emojiBadge.emoji" }
  • AddedVertex { vertex_id: "social.colibri.beta.role:body.badge:variant2" }

Notes

  • Non-breaking: AddedEdge { src: "social.colibri.beta.role#emojiBadge", tgt: "social.colibri.beta.role#emojiBadge.customEmoji", kind: "prop", name: Some("customEmoji") }
  • Non-breaking: AddedEdge { src: "social.colibri.beta.role#emojiBadge", tgt: "social.colibri.beta.role#emojiBadge.emoji", kind: "prop", name: Some("emoji") }
  • Non-breaking: AddedEdge { src: "social.colibri.beta.role#emojiBadge.customEmoji", tgt: "social.colibri.beta.richtext.facet#customEmoji", kind: "ref", name: None }
  • Non-breaking: AddedEdge { src: "social.colibri.beta.role:body.badge", tgt: "social.colibri.beta.role:body.badge:variant2", kind: "variant", name: Some("#emojiBadge") }
  • Non-breaking: AddedEdge { src: "social.colibri.beta.role:body.badge:variant2", tgt: "social.colibri.beta.role#emojiBadge", kind: "ref", name: None }

Changes

11{
22 "$type": "com.atproto.lexicon.schema",
33 "defs": {
44 "channelOverride": {
55 "description": "Allow and deny lists scoped to a single channel.",
66 "properties": {
77 "allow": {
88 "description": "Permissions granted within this channel.",
99 "items": {
1010 "type": "string"
1111 },
1212 "type": "array"
1313 },
1414 "channel": {
1515 "description": "The space key of the channel this override applies to.",
1616 "format": "record-key",
1717 "type": "string"
1818 },
1919 "deny": {
2020 "description": "Permissions denied within this channel. Deny beats both the base permissions and allow.",
2121 "items": {
2222 "type": "string"
2323 },
2424 "type": "array"
2525 }
2626 },
2727 "required": [
2828 "channel"
2929 ],
3030 "type": "object"
3131 },
32 "emojiBadge": {
33 "description": "A badge drawn from an emoji. Exactly one of emoji and customEmoji is set.",
34 "properties": {
35 "customEmoji": {
36 "description": "The record of a custom emoji.",
37 "ref": "social.colibri.beta.richtext.facet#customEmoji",
38 "type": "ref"
39 },
40 "emoji": {
41 "description": "A Unicode emoji.",
42 "maxGraphemes": 1,
43 "maxLength": 64,
44 "type": "string"
45 }
46 },
47 "type": "object"
48 },
3249 "iconBadge": {
3350 "description": "A badge drawn from the client's curated icon set.",
3451 "properties": {
3552 "color": {
3653 "description": "Hex colour as #rrggbb. Absent means the role colour, or the client's default badge colour when the role has none.",
3754 "maxLength": 7,
3855 "type": "string"
3956 },
4057 "icon": {
4158 "description": "The icon's identifier in the curated set, for example shield-check.",
4259 "maxLength": 64,
4360 "minLength": 1,
4461 "type": "string"
4562 }
4663 },
4764 "required": [
4865 "icon"
4966 ],
5067 "type": "object"
5168 },
5269 "imageBadge": {
5370 "description": "A badge drawn from an uploaded image.",
5471 "properties": {
5572 "image": {
5673 "accept": [
5774 "image/jpeg",
5875 "image/png",
5976 "image/gif",
6077 "image/webp"
6178 ],
6279 "description": "A square image, shown at about 16 pixels.",
6380 "maxSize": 262144,
6481 "type": "blob"
6582 }
6683 },
6784 "required": [
6885 "image"
6986 ],
7087 "type": "object"
7188 },
7289 "main": {
7390 "description": "A named bundle of permissions assignable to community members.",
7491 "key": "tid",
7592 "record": {
7693 "properties": {
7794 "badge": {
7895 "description": "A small badge shown next to the names of members holding this role.",
7996 "refs": [
8097 "#iconBadge",
81 "#imageBadge"
98 "#imageBadge",
99 "#emojiBadge"
82100 ],
83101 "type": "union"
84102 },
85103 "channelOverrides": {
86104 "description": "Per-channel permission overrides.",
87105 "items": {
88106 "ref": "#channelOverride",
89107 "type": "ref"
90108 },
91109 "type": "array"
92110 },
93111 "color": {
94112 "description": "Hex colour as #rrggbb.",
95113 "maxLength": 7,
96114 "type": "string"
97115 },
98116 "default": {
99117 "default": false,
100118 "description": "Whether every member holds this role from the moment they join. Set on the members role created with the community. A default role cannot be deleted.",
101119 "type": "boolean"
102120 },
103121 "hoisted": {
104122 "default": false,
105123 "description": "Whether holders are listed separately in the member list.",
106124 "type": "boolean"
107125 },
108126 "mentionable": {
109127 "default": false,
110128 "description": "Whether @role mentions resolve to this role.",
111129 "type": "boolean"
112130 },
113131 "name": {
114132 "description": "Display name.",
115133 "maxLength": 32,
116134 "minLength": 1,
117135 "type": "string"
118136 },
119137 "permissions": {
120138 "description": "Permissions granted by this role.",
121139 "items": {
122140 "description": "A namespaced permission identifier.",
123141 "type": "string"
124142 },
125143 "type": "array"
126144 },
127145 "position": {
128146 "description": "Hierarchy position. Higher outranks lower.",
129147 "type": "integer"
130148 },
131149 "protected": {
132150 "default": false,
133151 "description": "Whether this role is exempt from modification and deletion. Set on the owner role created with the community.",
134152 "type": "boolean"
135153 }
136154 },
137155 "required": [
138156 "name",
139157 "permissions",
140158 "position"
141159 ],
142160 "type": "object"
143161 },
144162 "type": "record"
145163 }
146164 },
147165 "id": "social.colibri.beta.role",
148166 "lexicon": 1
149167}

Compare other versions