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
"id": "social.colibri.actor.profile",
3
3
"defs": {
4
4
"main": {
5
5
"key": "literal:self",
6
6
"type": "record",
7
7
"record": {
8
8
"type": "object",
9
9
"required": [],
10
10
"properties": {
11
11
"$type": {
12
12
"type": "string",
13
13
"format": "nsid",
14
14
"description": "The type of the record."
15
15
},
16
16
"theme": {
17
17
"ref": "lex:social.colibri.actor.profile#theme",
18
18
"type": "ref",
19
19
"description": "Colibri-only profile theming. Always sourced from this record regardless of syncBluesky."
20
20
},
21
21
"avatar": {
22
22
"type": "blob",
23
23
"accept": [
24
24
"image/jpeg",
25
25
"image/png",
26
26
"image/gif",
27
27
"image/webp"
28
28
],
29
29
"description": "The user's avatar image."
30
30
},
31
31
"banner": {
32
32
"type": "blob",
33
33
"accept": [
34
34
"image/jpeg",
35
35
"image/png",
36
36
"image/gif",
37
37
"image/webp"
38
38
],
39
39
"description": "The user's profile banner image."
40
40
},
41
41
"description": {
42
42
"type": "string",
43
43
"maxLength": 2560,
44
44
"description": "The user's profile description / bio.",
45
45
"maxGraphemes": 256
46
46
},
47
47
"displayName": {
48
48
"type": "string",
49
49
"maxLength": 640,
50
50
"description": "The user's display name.",
51
51
"maxGraphemes": 64
52
52
},
53
53
"syncBluesky": {
54
54
"type": "boolean",
55
55
"default": false,
56
56
"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."
57
57
},
58
58
"preferredBadge": {
59
59
"type": "string",
60
60
"maxLength": 64,
61
61
"description": "Label value of the badge the user chose to display as their primary badge. Absent means automatic (highest-priority badge)."
62
62
},
63
63
"presenceService": {
64
64
"type": "string",
65
65
"format": "did",
66
66
"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."
67
67
}
68
68
}
69
69
},
70
70
"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."
71
71
},
72
72
"theme": {
73
73
"type": "object",
74
74
"required": [],
75
75
"properties": {
76
-
"plate": {
77
-
"type": "string",
78
-
"format": "at-uri",
79
-
"description": "Name plate currently in use."
80
-
},
81
76
"gradient": {
82
77
"ref": "lex:social.colibri.actor.profile#themeGradient",
83
78
"type": "ref",
84
79
"description": "Two-color gradient profile theme."
85
80
},
86
81
"accentColor": {
87
82
"type": "string",
88
83
"maxLength": 7,
89
84
"description": "Accent color as a #rrggbb hex string."
90
85
},
91
86
"bannerColor": {
92
87
"type": "string",
93
88
"maxLength": 7,
94
89
"description": "Solid fallback banner color as #rrggbb, used when no banner image is set."
95
90
}
96
91
},
97
92
"description": "Colibri-only profile theming."
98
93
},
99
94
"themeGradient": {
100
95
"type": "object",
101
96
"required": [],
102
97
"properties": {
103
98
"primary": {
104
99
"type": "string",
105
100
"maxLength": 7,
106
101
"description": "Primary gradient color as #rrggbb."
107
102
},
108
103
"secondary": {
109
104
"type": "string",
110
105
"maxLength": 7,
111
106
"description": "Secondary gradient color as #rrggbb."
112
107
}
113
108
},
114
109
"description": "Two-color gradient profile theme."
115
110
}
116
111
},
117
112
"$type": "com.atproto.lexicon.schema",
118
113
"lexicon": 1,
119
-
"revision": 3
114
+
"revision": 2
120
115
}