community.gifthood.actor.profile
Schema Diff
+7 -0
Compatibility Analysis
Backward Compatible
Backward compatible. 6 non-breaking changes.
Non-Breaking Changes (6)
- AddedVertex AddedVertex { vertex_id: "com.atproto.label.defs#selfLabels" }
- AddedVertex AddedVertex { vertex_id: "community.gifthood.actor.profile:body.labels" }
- AddedVertex AddedVertex { vertex_id: "community.gifthood.actor.profile:body.labels:variant0" }
- AddedEdge AddedEdge { src: "community.gifthood.actor.profile:body", tgt: "community.gifthood.actor.profile:body.labels", kind: "prop", name: Some("labels") }
- AddedEdge AddedEdge { src: "community.gifthood.actor.profile:body.labels", tgt: "community.gifthood.actor.profile:body.labels:variant0", kind: "variant", name: Some("com.atproto.label.defs#selfLabels") }
- AddedEdge AddedEdge { src: "community.gifthood.actor.profile:body.labels:variant0", tgt: "com.atproto.label.defs#selfLabels", kind: "ref", name: None }
Migration Guidance
Added Elements
AddedVertex { vertex_id: "com.atproto.label.defs#selfLabels" }AddedVertex { vertex_id: "community.gifthood.actor.profile:body.labels" }AddedVertex { vertex_id: "community.gifthood.actor.profile:body.labels:variant0" }
Additional Notes
- Non-breaking: AddedEdge { src: "community.gifthood.actor.profile:body", tgt: "community.gifthood.actor.profile:body.labels", kind: "prop", name: Some("labels") }
- Non-breaking: AddedEdge { src: "community.gifthood.actor.profile:body.labels", tgt: "community.gifthood.actor.profile:body.labels:variant0", kind: "variant", name: Some("com.atproto.label.defs#selfLabels") }
- Non-breaking: AddedEdge { src: "community.gifthood.actor.profile:body.labels:variant0", tgt: "com.atproto.label.defs#selfLabels", kind: "ref", name: None }
1
1
{
2
2
"$type": "com.atproto.lexicon.schema",
3
3
"defs": {
4
4
"main": {
5
5
"description": "A member's gifthood-native profile. The member owns it; the AppView indexes it and layers it over their Bluesky profile field-by-field (a set field overrides Bluesky; an absent field inherits). One record per member, keyed `self`. createdAt is the write-once gifthood join date.",
6
6
"key": "literal:self",
7
7
"record": {
8
8
"properties": {
9
9
"avatar": {
10
10
"accept": [
11
11
"image/png",
12
12
"image/jpeg"
13
13
],
14
14
"description": "Avatar image blob in the member's repo. Overrides the Bluesky avatar when set.",
15
15
"maxSize": 1000000,
16
16
"type": "blob"
17
17
},
18
18
"banner": {
19
19
"accept": [
20
20
"image/png",
21
21
"image/jpeg"
22
22
],
23
23
"description": "Banner image blob in the member's repo.",
24
24
"maxSize": 1000000,
25
25
"type": "blob"
26
26
},
27
27
"createdAt": {
28
28
"description": "The gifthood join date. Write-once: edits MUST preserve it.",
29
29
"format": "datetime",
30
30
"type": "string"
31
31
},
32
32
"description": {
33
33
"description": "Gifthood bio. Overrides the Bluesky description when set.",
34
34
"maxGraphemes": 256,
35
35
"maxLength": 2560,
36
36
"type": "string"
37
37
},
38
38
"displayName": {
39
39
"description": "Gifthood display name. Overrides the Bluesky display name when set.",
40
40
"maxGraphemes": 64,
41
41
"maxLength": 640,
42
42
"type": "string"
43
43
},
44
+
"labels": {
45
+
"description": "Self-label values on this profile. The only value gifthood enforces is !no-unauthenticated (hide from logged-out viewers).",
46
+
"refs": [
47
+
"com.atproto.label.defs#selfLabels"
48
+
],
49
+
"type": "union"
50
+
},
44
51
"pronouns": {
45
52
"description": "Free-form pronouns. Overrides the Bluesky pronouns when set.",
46
53
"maxGraphemes": 20,
47
54
"maxLength": 200,
48
55
"type": "string"
49
56
},
50
57
"website": {
51
58
"description": "A personal link. Overrides the Bluesky website when set.",
52
59
"format": "uri",
53
60
"type": "string"
54
61
}
55
62
},
56
63
"required": [
57
64
"createdAt"
58
65
],
59
66
"type": "object"
60
67
},
61
68
"type": "record"
62
69
}
63
70
},
64
71
"id": "community.gifthood.actor.profile",
65
72
"lexicon": 1
66
73
}