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