app.didpic.actor.defs
Schema Diff
+55 -0
Compatibility Analysis
Breaking Changes Detected
4 breaking changes, 20 non-breaking changes.
Breaking Changes (4)
- ConstraintAdded ConstraintAdded { vertex_id: "app.didpic.actor.defs#profileView.pronouns", sort: "maxGraphemes", value: "64" }
- ConstraintAdded ConstraintAdded { vertex_id: "app.didpic.actor.defs#profileView.pronouns", sort: "maxLength", value: "640" }
- 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 (20)
- AddedVertex AddedVertex { vertex_id: "app.didpic.actor.defs#composePrefs" }
- AddedVertex AddedVertex { vertex_id: "app.didpic.actor.defs#composePrefs.requireAltText" }
- AddedVertex AddedVertex { vertex_id: "app.didpic.actor.defs#feedFilters" }
- AddedVertex AddedVertex { vertex_id: "app.didpic.actor.defs#feedFilters.hideNoAltText" }
- 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" }
- AddedVertex AddedVertex { vertex_id: "app.didpic.actor.defs#profileView.pronouns" }
- AddedVertex AddedVertex { vertex_id: "app.didpic.actor.defs#profileView.viewerBlockedBy" }
- AddedVertex AddedVertex { vertex_id: "app.didpic.actor.defs#profileView.viewerBlocking" }
- AddedVertex AddedVertex { vertex_id: "app.didpic.actor.defs#profileView.viewerSubscription" }
- AddedEdge AddedEdge { src: "app.didpic.actor.defs#composePrefs", tgt: "app.didpic.actor.defs#composePrefs.requireAltText", kind: "prop", name: Some("requireAltText") }
- AddedEdge AddedEdge { src: "app.didpic.actor.defs#feedFilters", tgt: "app.didpic.actor.defs#feedFilters.hideNoAltText", kind: "prop", name: Some("hideNoAltText") }
- 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", tgt: "app.didpic.actor.defs#profileView.pronouns", kind: "prop", name: Some("pronouns") }
- AddedEdge AddedEdge { src: "app.didpic.actor.defs#profileView", tgt: "app.didpic.actor.defs#profileView.viewerBlockedBy", kind: "prop", name: Some("viewerBlockedBy") }
- AddedEdge AddedEdge { src: "app.didpic.actor.defs#profileView", tgt: "app.didpic.actor.defs#profileView.viewerBlocking", kind: "prop", name: Some("viewerBlocking") }
- AddedEdge AddedEdge { src: "app.didpic.actor.defs#profileView", tgt: "app.didpic.actor.defs#profileView.viewerSubscription", kind: "prop", name: Some("viewerSubscription") }
- 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#composePrefs" }AddedVertex { vertex_id: "app.didpic.actor.defs#composePrefs.requireAltText" }AddedVertex { vertex_id: "app.didpic.actor.defs#feedFilters" }AddedVertex { vertex_id: "app.didpic.actor.defs#feedFilters.hideNoAltText" }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" }AddedVertex { vertex_id: "app.didpic.actor.defs#profileView.pronouns" }AddedVertex { vertex_id: "app.didpic.actor.defs#profileView.viewerBlockedBy" }AddedVertex { vertex_id: "app.didpic.actor.defs#profileView.viewerBlocking" }AddedVertex { vertex_id: "app.didpic.actor.defs#profileView.viewerSubscription" }
Constraint Changes
- ConstraintAdded ConstraintAdded { vertex_id: "app.didpic.actor.defs#profileView.pronouns", sort: "maxGraphemes", value: "64" }
- ConstraintAdded ConstraintAdded { vertex_id: "app.didpic.actor.defs#profileView.pronouns", sort: "maxLength", value: "640" }
- 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#composePrefs", tgt: "app.didpic.actor.defs#composePrefs.requireAltText", kind: "prop", name: Some("requireAltText") }
- Non-breaking: AddedEdge { src: "app.didpic.actor.defs#feedFilters", tgt: "app.didpic.actor.defs#feedFilters.hideNoAltText", kind: "prop", name: Some("hideNoAltText") }
- 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", tgt: "app.didpic.actor.defs#profileView.pronouns", kind: "prop", name: Some("pronouns") }
- Non-breaking: AddedEdge { src: "app.didpic.actor.defs#profileView", tgt: "app.didpic.actor.defs#profileView.viewerBlockedBy", kind: "prop", name: Some("viewerBlockedBy") }
- Non-breaking: AddedEdge { src: "app.didpic.actor.defs#profileView", tgt: "app.didpic.actor.defs#profileView.viewerBlocking", kind: "prop", name: Some("viewerBlocking") }
- Non-breaking: AddedEdge { src: "app.didpic.actor.defs#profileView", tgt: "app.didpic.actor.defs#profileView.viewerSubscription", kind: "prop", name: Some("viewerSubscription") }
- 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
+
"feedFilters": {
34
+
"type": "object",
35
+
"required": [
36
+
"hideNoAltText"
37
+
],
38
+
"properties": {
39
+
"hideNoAltText": {
40
+
"type": "boolean"
41
+
}
42
+
},
43
+
"description": "Viewer-side feed filtering options."
44
+
},
33
45
"profileView": {
34
46
"type": "object",
35
47
"required": [
36
48
"did"
37
49
],
38
50
"properties": {
39
51
"did": {
40
52
"type": "string",
41
53
"format": "did"
42
54
},
43
55
"handle": {
44
56
"type": "string",
45
57
"format": "handle"
46
58
},
59
+
"location": {
60
+
"type": "string",
61
+
"maxLength": 640,
62
+
"maxGraphemes": 64
63
+
},
64
+
"pronouns": {
65
+
"type": "string",
66
+
"maxLength": 640,
67
+
"maxGraphemes": 64
68
+
},
47
69
"avatarCid": {
48
70
"type": "string",
49
71
"format": "cid"
50
72
},
51
73
"bannerCid": {
52
74
"type": "string",
53
75
"format": "cid"
54
76
},
55
77
"indexedAt": {
56
78
"type": "string",
57
79
"format": "datetime"
58
80
},
59
81
"likesCount": {
60
82
"type": "integer",
61
83
"minimum": 0
62
84
},
63
85
"postsCount": {
64
86
"type": "integer",
65
87
"minimum": 0
66
88
},
67
89
"description": {
68
90
"type": "string",
69
91
"maxLength": 2560,
70
92
"maxGraphemes": 256
71
93
},
72
94
"displayName": {
73
95
"type": "string",
74
96
"maxLength": 640,
75
97
"maxGraphemes": 64
76
98
},
77
99
"followsCount": {
78
100
"type": "integer",
79
101
"minimum": 0
80
102
},
81
103
"followersCount": {
82
104
"type": "integer",
83
105
"minimum": 0
84
106
},
107
+
"viewerBlocking": {
108
+
"type": "string",
109
+
"format": "at-uri",
110
+
"description": "URI of the viewer's block record for this actor, if any."
111
+
},
112
+
"viewerBlockedBy": {
113
+
"type": "boolean",
114
+
"description": "Whether this actor has blocked the viewer."
115
+
},
85
116
"viewerFollowing": {
86
117
"type": "string",
87
118
"format": "at-uri",
88
119
"description": "URI of the viewer's follow record for this actor, if any."
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
+
},
129
+
"viewerSubscription": {
130
+
"type": "boolean",
131
+
"description": "Whether the viewer is subscribed to this actor's post alerts."
89
132
}
90
133
},
91
134
"description": "Full profile view."
92
135
},
136
+
"composePrefs": {
137
+
"type": "object",
138
+
"required": [
139
+
"requireAltText"
140
+
],
141
+
"properties": {
142
+
"requireAltText": {
143
+
"type": "boolean"
144
+
}
145
+
},
146
+
"description": "Compose-time enforcement options."
147
+
},
93
148
"profileBasic": {
94
149
"type": "object",
95
150
"required": [
96
151
"did"
97
152
],
98
153
"properties": {
99
154
"did": {
100
155
"type": "string",
101
156
"format": "did"
102
157
},
103
158
"handle": {
104
159
"type": "string",
105
160
"format": "handle"
106
161
},
107
162
"avatarCid": {
108
163
"type": "string",
109
164
"format": "cid"
110
165
},
111
166
"displayName": {
112
167
"type": "string",
113
168
"maxLength": 640,
114
169
"maxGraphemes": 64
115
170
},
116
171
"viewerFollowing": {
117
172
"type": "string",
118
173
"format": "at-uri",
119
174
"description": "URI of the viewer's follow record for this actor, if any."
120
175
}
121
176
},
122
177
"description": "Minimal profile info embedded inside other views."
123
178
}
124
179
},
125
180
"$type": "com.atproto.lexicon.schema",
126
181
"lexicon": 1
127
182
}