social.coves.embed.external
Schema Diff
+2 -2
Compatibility Analysis
Breaking Changes Detected
2 breaking changes, 2 non-breaking changes.
Breaking Changes (2)
- RemovedEdge RemovedEdge { src: "social.coves.embed.external#viewExternal.images:items", tgt: "social.coves.embed.images#image", kind: "ref", name: None }
- ConstraintTightened ConstraintTightened { vertex_id: "social.coves.embed.external#viewExternal.images:items", sort: "ref", old_value: "social.coves.embed.images#image", new_value: "social.coves.embed.images#viewImage" }
Non-Breaking Changes (2)
- AddedVertex AddedVertex { vertex_id: "social.coves.embed.images#viewImage" }
- AddedEdge AddedEdge { src: "social.coves.embed.external#viewExternal.images:items", tgt: "social.coves.embed.images#viewImage", kind: "ref", name: None }
Migration Guidance
Added Elements
AddedVertex { vertex_id: "social.coves.embed.images#viewImage" }
Constraint Changes
- ConstraintTightened ConstraintTightened { vertex_id: "social.coves.embed.external#viewExternal.images:items", sort: "ref", old_value: "social.coves.embed.images#image", new_value: "social.coves.embed.images#viewImage" }
Additional Notes
- Breaking: RemovedEdge { src: "social.coves.embed.external#viewExternal.images:items", tgt: "social.coves.embed.images#image", kind: "ref", name: None }
- Non-breaking: AddedEdge { src: "social.coves.embed.external#viewExternal.images:items", tgt: "social.coves.embed.images#viewImage", kind: "ref", name: None }
1
1
{
2
2
"$type": "com.atproto.lexicon.schema",
3
3
"defs": {
4
4
"external": {
5
5
"description": "Primary external link metadata",
6
6
"properties": {
7
7
"description": {
8
8
"description": "Description or excerpt of the linked content",
9
9
"maxGraphemes": 1000,
10
10
"maxLength": 10000,
11
11
"type": "string"
12
12
},
13
13
"domain": {
14
14
"description": "Domain of the linked content (e.g., nytimes.com)",
15
15
"maxLength": 253,
16
16
"type": "string"
17
17
},
18
18
"embedType": {
19
19
"description": "Type hint for content rendering and filtering",
20
20
"knownValues": [
21
21
"article",
22
22
"image",
23
23
"video",
24
24
"website"
25
25
],
26
26
"maxLength": 64,
27
27
"type": "string"
28
28
},
29
29
"images": {
30
30
"description": "Preview images for image gallery providers",
31
31
"items": {
32
32
"ref": "social.coves.embed.images#image",
33
33
"type": "ref"
34
34
},
35
35
"maxLength": 8,
36
36
"type": "array"
37
37
},
38
38
"provider": {
39
39
"description": "Service provider name (e.g., imgur, streamable)",
40
40
"maxLength": 100,
41
41
"type": "string"
42
42
},
43
43
"sources": {
44
44
"description": "Aggregated source links for megathreads. Each source references an original article and optionally the Coves post that shared it",
45
45
"items": {
46
46
"ref": "#source",
47
47
"type": "ref"
48
48
},
49
49
"maxLength": 50,
50
50
"type": "array"
51
51
},
52
52
"thumb": {
53
53
"accept": [
54
54
"image/png",
55
55
"image/jpeg",
56
56
"image/webp"
57
57
],
58
58
"description": "Thumbnail image for the post (applies to primary link)",
59
59
"maxSize": 6000000,
60
60
"type": "blob"
61
61
},
62
62
"title": {
63
63
"description": "Title of the linked content",
64
64
"maxGraphemes": 500,
65
65
"maxLength": 5000,
66
66
"type": "string"
67
67
},
68
68
"totalCount": {
69
69
"description": "Total number of items if more than displayed (for galleries)",
70
70
"minimum": 0,
71
71
"type": "integer"
72
72
},
73
73
"uri": {
74
74
"description": "URI of the primary external content",
75
75
"format": "uri",
76
76
"type": "string"
77
77
}
78
78
},
79
79
"required": [
80
80
"uri"
81
81
],
82
82
"type": "object"
83
83
},
84
84
"main": {
85
85
"description": "External link embed with optional aggregated sources for megathreads",
86
86
"properties": {
87
87
"external": {
88
88
"ref": "#external",
89
89
"type": "ref"
90
90
}
91
91
},
92
92
"required": [
93
93
"external"
94
94
],
95
95
"type": "object"
96
96
},
97
97
"source": {
98
98
"description": "A source link aggregated into a megathread",
99
99
"properties": {
100
100
"domain": {
101
101
"description": "Domain of the source (e.g., nytimes.com)",
102
102
"maxLength": 253,
103
103
"type": "string"
104
104
},
105
105
"sourcePost": {
106
106
"description": "Reference to the Coves post that originally shared this link. Used for feed deprioritization of rolled-up posts",
107
107
"ref": "com.atproto.repo.strongRef",
108
108
"type": "ref"
109
109
},
110
110
"title": {
111
111
"description": "Title of the source article",
112
112
"maxGraphemes": 500,
113
113
"maxLength": 5000,
114
114
"type": "string"
115
115
},
116
116
"uri": {
117
117
"description": "URI of the source article",
118
118
"format": "uri",
119
119
"type": "string"
120
120
}
121
121
},
122
122
"required": [
123
123
"uri"
124
124
],
125
125
"type": "object"
126
126
},
127
127
"view": {
128
128
"description": "View of an external link embed as served by the AppView",
129
129
"properties": {
130
130
"external": {
131
131
"ref": "#viewExternal",
132
132
"type": "ref"
133
133
}
134
134
},
135
135
"required": [
136
136
"external"
137
137
],
138
138
"type": "object"
139
139
},
140
140
"viewExternal": {
141
141
"description": "External link metadata as served by the AppView; thumb is a fetchable URL instead of a blob reference",
142
142
"properties": {
143
143
"description": {
144
144
"description": "Description or excerpt of the linked content",
145
145
"maxGraphemes": 1000,
146
146
"maxLength": 10000,
147
147
"type": "string"
148
148
},
149
149
"domain": {
150
150
"description": "Domain of the linked content (e.g., nytimes.com)",
151
151
"maxLength": 253,
152
152
"type": "string"
153
153
},
154
154
"embedType": {
155
155
"description": "Type hint for content rendering and filtering",
156
156
"knownValues": [
157
157
"article",
158
158
"image",
159
159
"video",
160
160
"website"
161
161
],
162
162
"maxLength": 64,
163
163
"type": "string"
164
164
},
165
165
"images": {
166
166
"description": "Preview images for image gallery providers",
167
167
"items": {
168
-
"ref": "social.coves.embed.images#image",
168
+
"ref": "social.coves.embed.images#viewImage",
169
169
"type": "ref"
170
170
},
171
171
"maxLength": 8,
172
172
"type": "array"
173
173
},
174
174
"provider": {
175
175
"description": "Service provider name (e.g., imgur, streamable)",
176
176
"maxLength": 100,
177
177
"type": "string"
178
178
},
179
179
"sources": {
180
180
"description": "Aggregated source links for megathreads. Each source references an original article and optionally the Coves post that shared it",
181
181
"items": {
182
182
"ref": "#source",
183
183
"type": "ref"
184
184
},
185
185
"maxLength": 50,
186
186
"type": "array"
187
187
},
188
188
"thumb": {
189
-
"description": "URL of the thumbnail image, served via the hosting PDS blob endpoint",
189
+
"description": "URL of the thumbnail image, served via the AppView's image proxy",
190
190
"format": "uri",
191
191
"type": "string"
192
192
},
193
193
"title": {
194
194
"description": "Title of the linked content",
195
195
"maxGraphemes": 500,
196
196
"maxLength": 5000,
197
197
"type": "string"
198
198
},
199
199
"totalCount": {
200
200
"description": "Total number of items if more than displayed (for galleries)",
201
201
"minimum": 0,
202
202
"type": "integer"
203
203
},
204
204
"uri": {
205
205
"description": "URI of the primary external content",
206
206
"format": "uri",
207
207
"type": "string"
208
208
}
209
209
},
210
210
"required": [
211
211
"uri"
212
212
],
213
213
"type": "object"
214
214
}
215
215
},
216
216
"id": "social.coves.embed.external",
217
217
"lexicon": 1
218
218
}