app.didpic.actor.defs
Schema Diff
+13 -0
Compatibility Analysis
Breaking Changes Detected
2 breaking changes, 6 non-breaking changes.
Breaking Changes (2)
- ConstraintAdded ConstraintAdded { vertex_id: "app.didpic.actor.defs#profileView.location", sort: "maxLength", value: "640" }
- ConstraintAdded ConstraintAdded { vertex_id: "app.didpic.actor.defs#profileView.location", sort: "maxGraphemes", value: "64" }
Non-Breaking Changes (6)
- AddedVertex AddedVertex { vertex_id: "app.didpic.actor.defs#profileView.descriptionFacets" }
- AddedVertex AddedVertex { vertex_id: "app.didpic.actor.defs#profileView.descriptionFacets:items" }
- AddedVertex AddedVertex { vertex_id: "app.didpic.actor.defs#profileView.location" }
- AddedEdge AddedEdge { src: "app.didpic.actor.defs#profileView", tgt: "app.didpic.actor.defs#profileView.descriptionFacets", kind: "prop", name: Some("descriptionFacets") }
- AddedEdge AddedEdge { src: "app.didpic.actor.defs#profileView", tgt: "app.didpic.actor.defs#profileView.location", kind: "prop", name: Some("location") }
- AddedEdge AddedEdge { src: "app.didpic.actor.defs#profileView.descriptionFacets", tgt: "app.didpic.actor.defs#profileView.descriptionFacets:items", kind: "items", name: None }
Migration Guidance
Added Elements
AddedVertex { vertex_id: "app.didpic.actor.defs#profileView.descriptionFacets" }AddedVertex { vertex_id: "app.didpic.actor.defs#profileView.descriptionFacets:items" }AddedVertex { vertex_id: "app.didpic.actor.defs#profileView.location" }
Constraint Changes
- ConstraintAdded ConstraintAdded { vertex_id: "app.didpic.actor.defs#profileView.location", sort: "maxLength", value: "640" }
- ConstraintAdded ConstraintAdded { vertex_id: "app.didpic.actor.defs#profileView.location", sort: "maxGraphemes", value: "64" }
Additional Notes
- Non-breaking: AddedEdge { src: "app.didpic.actor.defs#profileView", tgt: "app.didpic.actor.defs#profileView.descriptionFacets", kind: "prop", name: Some("descriptionFacets") }
- Non-breaking: AddedEdge { src: "app.didpic.actor.defs#profileView", tgt: "app.didpic.actor.defs#profileView.location", kind: "prop", name: Some("location") }
- Non-breaking: AddedEdge { src: "app.didpic.actor.defs#profileView.descriptionFacets", tgt: "app.didpic.actor.defs#profileView.descriptionFacets:items", kind: "items", name: None }
1
1
{
2
2
"id": "app.didpic.actor.defs",
3
3
"defs": {
4
4
"feedPref": {
5
5
"type": "object",
6
6
"required": [
7
7
"value"
8
8
],
9
9
"properties": {
10
10
"value": {
11
11
"type": "string",
12
12
"knownValues": [
13
13
"home",
14
14
"discover"
15
15
]
16
16
}
17
17
},
18
18
"description": "Last-selected home feed."
19
19
},
20
20
"labelPrefs": {
21
21
"type": "object",
22
22
"required": [
23
23
"labels"
24
24
],
25
25
"properties": {
26
26
"labels": {
27
27
"type": "unknown",
28
28
"description": "Map of label id to action ('hide' | 'blur' | 'show')."
29
29
}
30
30
},
31
31
"description": "Per-label moderation preferences."
32
32
},
33
33
"feedFilters": {
34
34
"type": "object",
35
35
"required": [
36
36
"hideNoAltText"
37
37
],
38
38
"properties": {
39
39
"hideNoAltText": {
40
40
"type": "boolean"
41
41
}
42
42
},
43
43
"description": "Viewer-side feed filtering options."
44
44
},
45
45
"profileView": {
46
46
"type": "object",
47
47
"required": [
48
48
"did"
49
49
],
50
50
"properties": {
51
51
"did": {
52
52
"type": "string",
53
53
"format": "did"
54
54
},
55
55
"handle": {
56
56
"type": "string",
57
57
"format": "handle"
58
58
},
59
+
"location": {
60
+
"type": "string",
61
+
"maxLength": 640,
62
+
"maxGraphemes": 64
63
+
},
59
64
"pronouns": {
60
65
"type": "string",
61
66
"maxLength": 640,
62
67
"maxGraphemes": 64
63
68
},
64
69
"avatarCid": {
65
70
"type": "string",
66
71
"format": "cid"
67
72
},
68
73
"bannerCid": {
69
74
"type": "string",
70
75
"format": "cid"
71
76
},
72
77
"indexedAt": {
73
78
"type": "string",
74
79
"format": "datetime"
75
80
},
76
81
"likesCount": {
77
82
"type": "integer",
78
83
"minimum": 0
79
84
},
80
85
"postsCount": {
81
86
"type": "integer",
82
87
"minimum": 0
83
88
},
84
89
"description": {
85
90
"type": "string",
86
91
"maxLength": 2560,
87
92
"maxGraphemes": 256
88
93
},
89
94
"displayName": {
90
95
"type": "string",
91
96
"maxLength": 640,
92
97
"maxGraphemes": 64
93
98
},
94
99
"followsCount": {
95
100
"type": "integer",
96
101
"minimum": 0
97
102
},
98
103
"followersCount": {
99
104
"type": "integer",
100
105
"minimum": 0
101
106
},
102
107
"viewerBlocking": {
103
108
"type": "string",
104
109
"format": "at-uri",
105
110
"description": "URI of the viewer's block record for this actor, if any."
106
111
},
107
112
"viewerBlockedBy": {
108
113
"type": "boolean",
109
114
"description": "Whether this actor has blocked the viewer."
110
115
},
111
116
"viewerFollowing": {
112
117
"type": "string",
113
118
"format": "at-uri",
114
119
"description": "URI of the viewer's follow record for this actor, if any."
115
120
},
121
+
"descriptionFacets": {
122
+
"type": "array",
123
+
"items": {
124
+
"ref": "app.didpic.richtext.facet",
125
+
"type": "ref"
126
+
},
127
+
"description": "Facets within description (mentions, tags, links)."
128
+
},
116
129
"viewerSubscription": {
117
130
"type": "boolean",
118
131
"description": "Whether the viewer is subscribed to this actor's post alerts."
119
132
}
120
133
},
121
134
"description": "Full profile view."
122
135
},
123
136
"composePrefs": {
124
137
"type": "object",
125
138
"required": [
126
139
"requireAltText"
127
140
],
128
141
"properties": {
129
142
"requireAltText": {
130
143
"type": "boolean"
131
144
}
132
145
},
133
146
"description": "Compose-time enforcement options."
134
147
},
135
148
"profileBasic": {
136
149
"type": "object",
137
150
"required": [
138
151
"did"
139
152
],
140
153
"properties": {
141
154
"did": {
142
155
"type": "string",
143
156
"format": "did"
144
157
},
145
158
"handle": {
146
159
"type": "string",
147
160
"format": "handle"
148
161
},
149
162
"avatarCid": {
150
163
"type": "string",
151
164
"format": "cid"
152
165
},
153
166
"displayName": {
154
167
"type": "string",
155
168
"maxLength": 640,
156
169
"maxGraphemes": 64
157
170
},
158
171
"viewerFollowing": {
159
172
"type": "string",
160
173
"format": "at-uri",
161
174
"description": "URI of the viewer's follow record for this actor, if any."
162
175
}
163
176
},
164
177
"description": "Minimal profile info embedded inside other views."
165
178
}
166
179
},
167
180
"$type": "com.atproto.lexicon.schema",
168
181
"lexicon": 1
169
182
}