art.cllctv.actor.profile
Schema Diff
+74 -0
Compatibility Analysis
Breaking Changes Detected
1 breaking change, 31 non-breaking changes.
Breaking Changes (1)
- RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "art.cllctv.actor.profile#theme", src: "art.cllctv.actor.profile#theme", tgt: "art.cllctv.actor.profile#theme.signature", kind: "prop", name: Some("signature") }
Non-Breaking Changes (31)
- AddedVertex AddedVertex { vertex_id: "art.cllctv.actor.profile#theme" }
- AddedVertex AddedVertex { vertex_id: "art.cllctv.actor.profile#theme.signature" }
- AddedVertex AddedVertex { vertex_id: "art.cllctv.actor.profile#theme.signature:variant0" }
- AddedVertex AddedVertex { vertex_id: "art.cllctv.actor.profile:body.avatar" }
- AddedVertex AddedVertex { vertex_id: "art.cllctv.actor.profile:body.avatarHash" }
- AddedVertex AddedVertex { vertex_id: "art.cllctv.actor.profile:body.banner" }
- AddedVertex AddedVertex { vertex_id: "art.cllctv.actor.profile:body.bannerHash" }
- AddedVertex AddedVertex { vertex_id: "art.cllctv.actor.profile:body.description" }
- AddedVertex AddedVertex { vertex_id: "art.cllctv.actor.profile:body.displayName" }
- AddedVertex AddedVertex { vertex_id: "art.cllctv.actor.profile:body.labels" }
- AddedVertex AddedVertex { vertex_id: "art.cllctv.actor.profile:body.labels:variant0" }
- AddedVertex AddedVertex { vertex_id: "art.cllctv.actor.profile:body.pronouns" }
- AddedVertex AddedVertex { vertex_id: "art.cllctv.actor.profile:body.theme" }
- AddedVertex AddedVertex { vertex_id: "art.cllctv.actor.profile:body.website" }
- AddedVertex AddedVertex { vertex_id: "art.cllctv.theme.color#hsl" }
- AddedVertex AddedVertex { vertex_id: "com.atproto.label.defs#selfLabels" }
- AddedEdge AddedEdge { src: "art.cllctv.actor.profile#theme.signature", tgt: "art.cllctv.actor.profile#theme.signature:variant0", kind: "variant", name: Some("art.cllctv.theme.color#hsl") }
- AddedEdge AddedEdge { src: "art.cllctv.actor.profile#theme.signature:variant0", tgt: "art.cllctv.theme.color#hsl", kind: "ref", name: None }
- AddedEdge AddedEdge { src: "art.cllctv.actor.profile:body", tgt: "art.cllctv.actor.profile:body.avatar", kind: "prop", name: Some("avatar") }
- AddedEdge AddedEdge { src: "art.cllctv.actor.profile:body", tgt: "art.cllctv.actor.profile:body.avatarHash", kind: "prop", name: Some("avatarHash") }
- AddedEdge AddedEdge { src: "art.cllctv.actor.profile:body", tgt: "art.cllctv.actor.profile:body.banner", kind: "prop", name: Some("banner") }
- AddedEdge AddedEdge { src: "art.cllctv.actor.profile:body", tgt: "art.cllctv.actor.profile:body.bannerHash", kind: "prop", name: Some("bannerHash") }
- AddedEdge AddedEdge { src: "art.cllctv.actor.profile:body", tgt: "art.cllctv.actor.profile:body.description", kind: "prop", name: Some("description") }
- AddedEdge AddedEdge { src: "art.cllctv.actor.profile:body", tgt: "art.cllctv.actor.profile:body.displayName", kind: "prop", name: Some("displayName") }
- AddedEdge AddedEdge { src: "art.cllctv.actor.profile:body", tgt: "art.cllctv.actor.profile:body.labels", kind: "prop", name: Some("labels") }
- AddedEdge AddedEdge { src: "art.cllctv.actor.profile:body", tgt: "art.cllctv.actor.profile:body.pronouns", kind: "prop", name: Some("pronouns") }
- AddedEdge AddedEdge { src: "art.cllctv.actor.profile:body", tgt: "art.cllctv.actor.profile:body.theme", kind: "prop", name: Some("theme") }
- AddedEdge AddedEdge { src: "art.cllctv.actor.profile:body", tgt: "art.cllctv.actor.profile:body.website", kind: "prop", name: Some("website") }
- AddedEdge AddedEdge { src: "art.cllctv.actor.profile:body.labels", tgt: "art.cllctv.actor.profile:body.labels:variant0", kind: "variant", name: Some("com.atproto.label.defs#selfLabels") }
- AddedEdge AddedEdge { src: "art.cllctv.actor.profile:body.labels:variant0", tgt: "com.atproto.label.defs#selfLabels", kind: "ref", name: None }
- AddedEdge AddedEdge { src: "art.cllctv.actor.profile:body.theme", tgt: "art.cllctv.actor.profile#theme", kind: "ref", name: None }
Migration Guidance
Added Elements
AddedVertex { vertex_id: "art.cllctv.actor.profile#theme" }AddedVertex { vertex_id: "art.cllctv.actor.profile#theme.signature" }AddedVertex { vertex_id: "art.cllctv.actor.profile#theme.signature:variant0" }AddedVertex { vertex_id: "art.cllctv.actor.profile:body.avatar" }AddedVertex { vertex_id: "art.cllctv.actor.profile:body.avatarHash" }AddedVertex { vertex_id: "art.cllctv.actor.profile:body.banner" }AddedVertex { vertex_id: "art.cllctv.actor.profile:body.bannerHash" }AddedVertex { vertex_id: "art.cllctv.actor.profile:body.description" }AddedVertex { vertex_id: "art.cllctv.actor.profile:body.displayName" }AddedVertex { vertex_id: "art.cllctv.actor.profile:body.labels" }AddedVertex { vertex_id: "art.cllctv.actor.profile:body.labels:variant0" }AddedVertex { vertex_id: "art.cllctv.actor.profile:body.pronouns" }AddedVertex { vertex_id: "art.cllctv.actor.profile:body.theme" }AddedVertex { vertex_id: "art.cllctv.actor.profile:body.website" }AddedVertex { vertex_id: "art.cllctv.theme.color#hsl" }AddedVertex { vertex_id: "com.atproto.label.defs#selfLabels" }
Additional Notes
- Breaking: RequiredEdgeAdded { vertex_id: "art.cllctv.actor.profile#theme", src: "art.cllctv.actor.profile#theme", tgt: "art.cllctv.actor.profile#theme.signature", kind: "prop", name: Some("signature") }
- Non-breaking: AddedEdge { src: "art.cllctv.actor.profile#theme.signature", tgt: "art.cllctv.actor.profile#theme.signature:variant0", kind: "variant", name: Some("art.cllctv.theme.color#hsl") }
- Non-breaking: AddedEdge { src: "art.cllctv.actor.profile#theme.signature:variant0", tgt: "art.cllctv.theme.color#hsl", kind: "ref", name: None }
- Non-breaking: AddedEdge { src: "art.cllctv.actor.profile:body", tgt: "art.cllctv.actor.profile:body.avatar", kind: "prop", name: Some("avatar") }
- Non-breaking: AddedEdge { src: "art.cllctv.actor.profile:body", tgt: "art.cllctv.actor.profile:body.avatarHash", kind: "prop", name: Some("avatarHash") }
- Non-breaking: AddedEdge { src: "art.cllctv.actor.profile:body", tgt: "art.cllctv.actor.profile:body.banner", kind: "prop", name: Some("banner") }
- Non-breaking: AddedEdge { src: "art.cllctv.actor.profile:body", tgt: "art.cllctv.actor.profile:body.bannerHash", kind: "prop", name: Some("bannerHash") }
- Non-breaking: AddedEdge { src: "art.cllctv.actor.profile:body", tgt: "art.cllctv.actor.profile:body.description", kind: "prop", name: Some("description") }
- Non-breaking: AddedEdge { src: "art.cllctv.actor.profile:body", tgt: "art.cllctv.actor.profile:body.displayName", kind: "prop", name: Some("displayName") }
- Non-breaking: AddedEdge { src: "art.cllctv.actor.profile:body", tgt: "art.cllctv.actor.profile:body.labels", kind: "prop", name: Some("labels") }
- Non-breaking: AddedEdge { src: "art.cllctv.actor.profile:body", tgt: "art.cllctv.actor.profile:body.pronouns", kind: "prop", name: Some("pronouns") }
- Non-breaking: AddedEdge { src: "art.cllctv.actor.profile:body", tgt: "art.cllctv.actor.profile:body.theme", kind: "prop", name: Some("theme") }
- Non-breaking: AddedEdge { src: "art.cllctv.actor.profile:body", tgt: "art.cllctv.actor.profile:body.website", kind: "prop", name: Some("website") }
- Non-breaking: AddedEdge { src: "art.cllctv.actor.profile:body.labels", tgt: "art.cllctv.actor.profile:body.labels:variant0", kind: "variant", name: Some("com.atproto.label.defs#selfLabels") }
- Non-breaking: AddedEdge { src: "art.cllctv.actor.profile:body.labels:variant0", tgt: "com.atproto.label.defs#selfLabels", kind: "ref", name: None }
- Non-breaking: AddedEdge { src: "art.cllctv.actor.profile:body.theme", tgt: "art.cllctv.actor.profile#theme", kind: "ref", name: None }
1
1
{
2
2
"$type": "com.atproto.lexicon.schema",
3
3
"defs": {
4
4
"main": {
5
5
"description": "A declaration of a cllctv.ART account profile.",
6
6
"key": "literal:self",
7
7
"record": {
8
8
"properties": {
9
+
"avatar": {
10
+
"accept": [
11
+
"image/png",
12
+
"image/jpeg"
13
+
],
14
+
"description": "Small image to be displayed next to posts from account. AKA, 'profile picture'",
15
+
"maxSize": 1000000,
16
+
"type": "blob"
17
+
},
18
+
"avatarHash": {
19
+
"maxGraphemes": 64,
20
+
"maxLength": 640,
21
+
"type": "string"
22
+
},
23
+
"banner": {
24
+
"accept": [
25
+
"image/png",
26
+
"image/jpeg"
27
+
],
28
+
"description": "Larger horizontal image to display behind profile view.",
29
+
"maxSize": 1000000,
30
+
"type": "blob"
31
+
},
32
+
"bannerHash": {
33
+
"maxGraphemes": 64,
34
+
"maxLength": 640,
35
+
"type": "string"
36
+
},
9
37
"createdAt": {
10
38
"format": "datetime",
11
39
"type": "string"
40
+
},
41
+
"description": {
42
+
"description": "Free-form profile description text.",
43
+
"maxGraphemes": 256,
44
+
"maxLength": 2560,
45
+
"type": "string"
46
+
},
47
+
"displayName": {
48
+
"maxGraphemes": 64,
49
+
"maxLength": 640,
50
+
"type": "string"
51
+
},
52
+
"labels": {
53
+
"description": "Self-label values, specific to the cllctv.ART application, on the overall account.",
54
+
"refs": [
55
+
"com.atproto.label.defs#selfLabels"
56
+
],
57
+
"type": "union"
58
+
},
59
+
"pronouns": {
60
+
"description": "Free-form pronouns text.",
61
+
"maxGraphemes": 20,
62
+
"maxLength": 200,
63
+
"type": "string"
64
+
},
65
+
"theme": {
66
+
"ref": "#theme",
67
+
"type": "ref"
68
+
},
69
+
"website": {
70
+
"format": "uri",
71
+
"type": "string"
12
72
}
13
73
},
14
74
"type": "object"
15
75
},
16
76
"type": "record"
77
+
},
78
+
"theme": {
79
+
"properties": {
80
+
"signature": {
81
+
"refs": [
82
+
"art.cllctv.theme.color#hsl"
83
+
],
84
+
"type": "union"
85
+
}
86
+
},
87
+
"required": [
88
+
"signature"
89
+
],
90
+
"type": "object"
17
91
}
18
92
},
19
93
"id": "art.cllctv.actor.profile",
20
94
"lexicon": 1
21
95
}