social.colibri.actor.profile
Schema Diff
+1 -6
Compatibility Analysis
Breaking Changes Detected
2 breaking changes, 0 non-breaking changes.
Breaking Changes (2)
- RemovedVertex RemovedVertex { vertex_id: "social.colibri.actor.profile#theme.plate" }
- RemovedEdge RemovedEdge { src: "social.colibri.actor.profile#theme", tgt: "social.colibri.actor.profile#theme.plate", kind: "prop", name: Some("plate") }
Migration Guidance
Removed Elements
RemovedVertex { vertex_id: "social.colibri.actor.profile#theme.plate" }
Additional Notes
- Breaking: RemovedEdge { src: "social.colibri.actor.profile#theme", tgt: "social.colibri.actor.profile#theme.plate", kind: "prop", name: Some("plate") }
1
1
{
2
2
"$type": "com.atproto.lexicon.schema",
3
3
"defs": {
4
4
"main": {
5
5
"description": "A Colibri-specific user profile. Singleton record on the user's own repo, kept separate from app.bsky.actor.profile so Colibri never needs write access to the Bluesky record.",
6
6
"key": "literal:self",
7
7
"record": {
8
8
"properties": {
9
9
"$type": {
10
10
"description": "The type of the record.",
11
11
"format": "nsid",
12
12
"type": "string"
13
13
},
14
14
"avatar": {
15
15
"accept": [
16
16
"image/jpeg",
17
17
"image/png",
18
18
"image/gif",
19
19
"image/webp"
20
20
],
21
21
"description": "The user's avatar image.",
22
22
"type": "blob"
23
23
},
24
24
"banner": {
25
25
"accept": [
26
26
"image/jpeg",
27
27
"image/png",
28
28
"image/gif",
29
29
"image/webp"
30
30
],
31
31
"description": "The user's profile banner image.",
32
32
"type": "blob"
33
33
},
34
34
"description": {
35
35
"description": "The user's profile description / bio.",
36
36
"maxGraphemes": 256,
37
37
"maxLength": 2560,
38
38
"type": "string"
39
39
},
40
40
"displayName": {
41
41
"description": "The user's display name.",
42
42
"maxGraphemes": 64,
43
43
"maxLength": 640,
44
44
"type": "string"
45
45
},
46
46
"preferredBadge": {
47
47
"description": "Label value of the badge the user chose to display as their primary badge. Absent means automatic (highest-priority badge).",
48
48
"maxLength": 64,
49
49
"type": "string"
50
50
},
51
51
"presenceService": {
52
52
"description": "DID of the AppView authorized to emit off-protocol presence (status, typing, voice) for this user via Humming. A receiving AppView MUST drop any Hum about this user whose authenticated origin does not equal this value. Absent means the user has not opted into cross-instance presence.",
53
53
"format": "did",
54
54
"type": "string"
55
55
},
56
56
"syncBluesky": {
57
57
"default": false,
58
58
"description": "When true, the AppView serves displayName/avatar/banner/description from the user's app.bsky.actor.profile record (Bluesky stays the live source); these mirrored fields may be omitted here.",
59
59
"type": "boolean"
60
60
},
61
61
"theme": {
62
62
"description": "Colibri-only profile theming. Always sourced from this record regardless of syncBluesky.",
63
63
"ref": "lex:social.colibri.actor.profile#theme",
64
64
"type": "ref"
65
65
}
66
66
},
67
67
"required": [],
68
68
"type": "object"
69
69
},
70
70
"type": "record"
71
71
},
72
72
"theme": {
73
73
"description": "Colibri-only profile theming.",
74
74
"properties": {
75
75
"accentColor": {
76
76
"description": "Accent color as a #rrggbb hex string.",
77
77
"maxLength": 7,
78
78
"type": "string"
79
79
},
80
80
"bannerColor": {
81
81
"description": "Solid fallback banner color as #rrggbb, used when no banner image is set.",
82
82
"maxLength": 7,
83
83
"type": "string"
84
84
},
85
85
"gradient": {
86
86
"description": "Two-color gradient profile theme.",
87
87
"ref": "lex:social.colibri.actor.profile#themeGradient",
88
88
"type": "ref"
89
-
},
90
-
"plate": {
91
-
"description": "Name plate currently in use.",
92
-
"format": "at-uri",
93
-
"type": "string"
94
89
}
95
90
},
96
91
"required": [],
97
92
"type": "object"
98
93
},
99
94
"themeGradient": {
100
95
"description": "Two-color gradient profile theme.",
101
96
"properties": {
102
97
"primary": {
103
98
"description": "Primary gradient color as #rrggbb.",
104
99
"maxLength": 7,
105
100
"type": "string"
106
101
},
107
102
"secondary": {
108
103
"description": "Secondary gradient color as #rrggbb.",
109
104
"maxLength": 7,
110
105
"type": "string"
111
106
}
112
107
},
113
108
"required": [],
114
109
"type": "object"
115
110
}
116
111
},
117
112
"id": "social.colibri.actor.profile",
118
113
"lexicon": 1,
119
-
"revision": 3
114
+
"revision": 2
120
115
}