app.chronosky.schedule.updatePost
Schema Diff
+49 -1
Compatibility Analysis
Breaking Changes Detected
7 breaking changes, 19 non-breaking changes.
Breaking Changes (7)
- RemovedEdge RemovedEdge { src: "app.chronosky.schedule.updatePost:input.embed", tgt: "app.chronosky.schedule.updatePost:input.embed:variant0", kind: "variant", name: Some("app.bsky.embed.images") }
- RemovedEdge RemovedEdge { src: "app.chronosky.schedule.updatePost:input.embed", tgt: "app.chronosky.schedule.updatePost:input.embed:variant1", kind: "variant", name: Some("app.bsky.embed.external") }
- RemovedEdge RemovedEdge { src: "app.chronosky.schedule.updatePost:input.embed", tgt: "app.chronosky.schedule.updatePost:input.embed:variant2", kind: "variant", name: Some("app.bsky.embed.record") }
- RemovedEdge RemovedEdge { src: "app.chronosky.schedule.updatePost:input.embed", tgt: "app.chronosky.schedule.updatePost:input.embed:variant3", kind: "variant", name: Some("app.bsky.embed.video") }
- RemovedEdge RemovedEdge { src: "app.chronosky.schedule.updatePost:input.embed", tgt: "app.chronosky.schedule.updatePost:input.embed:variant4", kind: "variant", name: Some("app.bsky.embed.recordWithMedia") }
- ConstraintAdded ConstraintAdded { vertex_id: "app.chronosky.schedule.updatePost#imageRef.alt", sort: "maxLength", value: "1000" }
- ConstraintAdded ConstraintAdded { vertex_id: "app.chronosky.schedule.updatePost#imageRef.cid", sort: "maxLength", value: "200" }
Non-Breaking Changes (19)
- AddedVertex AddedVertex { vertex_id: "app.chronosky.schedule.updatePost#imageRef" }
- AddedVertex AddedVertex { vertex_id: "app.chronosky.schedule.updatePost#imageRef.alt" }
- AddedVertex AddedVertex { vertex_id: "app.chronosky.schedule.updatePost#imageRef.cid" }
- AddedVertex AddedVertex { vertex_id: "app.chronosky.schedule.updatePost#imageRef.image" }
- AddedVertex AddedVertex { vertex_id: "app.chronosky.schedule.updatePost#imagesEmbed" }
- AddedVertex AddedVertex { vertex_id: "app.chronosky.schedule.updatePost#imagesEmbed.images" }
- AddedVertex AddedVertex { vertex_id: "app.chronosky.schedule.updatePost#imagesEmbed.images:items" }
- AddedVertex AddedVertex { vertex_id: "app.chronosky.schedule.updatePost:input.embed:variant5" }
- AddedEdge AddedEdge { src: "app.chronosky.schedule.updatePost#imageRef", tgt: "app.chronosky.schedule.updatePost#imageRef.alt", kind: "prop", name: Some("alt") }
- AddedEdge AddedEdge { src: "app.chronosky.schedule.updatePost#imageRef", tgt: "app.chronosky.schedule.updatePost#imageRef.cid", kind: "prop", name: Some("cid") }
- AddedEdge AddedEdge { src: "app.chronosky.schedule.updatePost#imageRef", tgt: "app.chronosky.schedule.updatePost#imageRef.image", kind: "prop", name: Some("image") }
- AddedEdge AddedEdge { src: "app.chronosky.schedule.updatePost#imagesEmbed", tgt: "app.chronosky.schedule.updatePost#imagesEmbed.images", kind: "prop", name: Some("images") }
- AddedEdge AddedEdge { src: "app.chronosky.schedule.updatePost#imagesEmbed.images", tgt: "app.chronosky.schedule.updatePost#imagesEmbed.images:items", kind: "items", name: None }
- AddedEdge AddedEdge { src: "app.chronosky.schedule.updatePost:input.embed", tgt: "app.chronosky.schedule.updatePost:input.embed:variant0", kind: "variant", name: Some("#imagesEmbed") }
- AddedEdge AddedEdge { src: "app.chronosky.schedule.updatePost:input.embed", tgt: "app.chronosky.schedule.updatePost:input.embed:variant1", kind: "variant", name: Some("app.bsky.embed.images") }
- AddedEdge AddedEdge { src: "app.chronosky.schedule.updatePost:input.embed", tgt: "app.chronosky.schedule.updatePost:input.embed:variant2", kind: "variant", name: Some("app.bsky.embed.external") }
- AddedEdge AddedEdge { src: "app.chronosky.schedule.updatePost:input.embed", tgt: "app.chronosky.schedule.updatePost:input.embed:variant3", kind: "variant", name: Some("app.bsky.embed.record") }
- AddedEdge AddedEdge { src: "app.chronosky.schedule.updatePost:input.embed", tgt: "app.chronosky.schedule.updatePost:input.embed:variant4", kind: "variant", name: Some("app.bsky.embed.video") }
- AddedEdge AddedEdge { src: "app.chronosky.schedule.updatePost:input.embed", tgt: "app.chronosky.schedule.updatePost:input.embed:variant5", kind: "variant", name: Some("app.bsky.embed.recordWithMedia") }
Migration Guidance
Added Elements
AddedVertex { vertex_id: "app.chronosky.schedule.updatePost#imageRef" }AddedVertex { vertex_id: "app.chronosky.schedule.updatePost#imageRef.alt" }AddedVertex { vertex_id: "app.chronosky.schedule.updatePost#imageRef.cid" }AddedVertex { vertex_id: "app.chronosky.schedule.updatePost#imageRef.image" }AddedVertex { vertex_id: "app.chronosky.schedule.updatePost#imagesEmbed" }AddedVertex { vertex_id: "app.chronosky.schedule.updatePost#imagesEmbed.images" }AddedVertex { vertex_id: "app.chronosky.schedule.updatePost#imagesEmbed.images:items" }AddedVertex { vertex_id: "app.chronosky.schedule.updatePost:input.embed:variant5" }
Constraint Changes
- ConstraintAdded ConstraintAdded { vertex_id: "app.chronosky.schedule.updatePost#imageRef.alt", sort: "maxLength", value: "1000" }
- ConstraintAdded ConstraintAdded { vertex_id: "app.chronosky.schedule.updatePost#imageRef.cid", sort: "maxLength", value: "200" }
Additional Notes
- Breaking: RemovedEdge { src: "app.chronosky.schedule.updatePost:input.embed", tgt: "app.chronosky.schedule.updatePost:input.embed:variant0", kind: "variant", name: Some("app.bsky.embed.images") }
- Breaking: RemovedEdge { src: "app.chronosky.schedule.updatePost:input.embed", tgt: "app.chronosky.schedule.updatePost:input.embed:variant1", kind: "variant", name: Some("app.bsky.embed.external") }
- Breaking: RemovedEdge { src: "app.chronosky.schedule.updatePost:input.embed", tgt: "app.chronosky.schedule.updatePost:input.embed:variant2", kind: "variant", name: Some("app.bsky.embed.record") }
- Breaking: RemovedEdge { src: "app.chronosky.schedule.updatePost:input.embed", tgt: "app.chronosky.schedule.updatePost:input.embed:variant3", kind: "variant", name: Some("app.bsky.embed.video") }
- Breaking: RemovedEdge { src: "app.chronosky.schedule.updatePost:input.embed", tgt: "app.chronosky.schedule.updatePost:input.embed:variant4", kind: "variant", name: Some("app.bsky.embed.recordWithMedia") }
- Non-breaking: AddedEdge { src: "app.chronosky.schedule.updatePost#imageRef", tgt: "app.chronosky.schedule.updatePost#imageRef.alt", kind: "prop", name: Some("alt") }
- Non-breaking: AddedEdge { src: "app.chronosky.schedule.updatePost#imageRef", tgt: "app.chronosky.schedule.updatePost#imageRef.cid", kind: "prop", name: Some("cid") }
- Non-breaking: AddedEdge { src: "app.chronosky.schedule.updatePost#imageRef", tgt: "app.chronosky.schedule.updatePost#imageRef.image", kind: "prop", name: Some("image") }
- Non-breaking: AddedEdge { src: "app.chronosky.schedule.updatePost#imagesEmbed", tgt: "app.chronosky.schedule.updatePost#imagesEmbed.images", kind: "prop", name: Some("images") }
- Non-breaking: AddedEdge { src: "app.chronosky.schedule.updatePost#imagesEmbed.images", tgt: "app.chronosky.schedule.updatePost#imagesEmbed.images:items", kind: "items", name: None }
- Non-breaking: AddedEdge { src: "app.chronosky.schedule.updatePost:input.embed", tgt: "app.chronosky.schedule.updatePost:input.embed:variant0", kind: "variant", name: Some("#imagesEmbed") }
- Non-breaking: AddedEdge { src: "app.chronosky.schedule.updatePost:input.embed", tgt: "app.chronosky.schedule.updatePost:input.embed:variant1", kind: "variant", name: Some("app.bsky.embed.images") }
- Non-breaking: AddedEdge { src: "app.chronosky.schedule.updatePost:input.embed", tgt: "app.chronosky.schedule.updatePost:input.embed:variant2", kind: "variant", name: Some("app.bsky.embed.external") }
- Non-breaking: AddedEdge { src: "app.chronosky.schedule.updatePost:input.embed", tgt: "app.chronosky.schedule.updatePost:input.embed:variant3", kind: "variant", name: Some("app.bsky.embed.record") }
- Non-breaking: AddedEdge { src: "app.chronosky.schedule.updatePost:input.embed", tgt: "app.chronosky.schedule.updatePost:input.embed:variant4", kind: "variant", name: Some("app.bsky.embed.video") }
- Non-breaking: AddedEdge { src: "app.chronosky.schedule.updatePost:input.embed", tgt: "app.chronosky.schedule.updatePost:input.embed:variant5", kind: "variant", name: Some("app.bsky.embed.recordWithMedia") }
1
1
{
2
2
"id": "app.chronosky.schedule.updatePost",
3
3
"defs": {
4
4
"main": {
5
5
"type": "procedure",
6
6
"input": {
7
7
"schema": {
8
8
"type": "object",
9
9
"required": [
10
10
"id"
11
11
],
12
12
"properties": {
13
13
"id": {
14
14
"type": "string",
15
15
"maxLength": 100,
16
16
"description": "Post ID to update."
17
17
},
18
18
"text": {
19
19
"type": "string",
20
20
"maxLength": 3000,
21
21
"description": "New post text content.",
22
22
"maxGraphemes": 300
23
23
},
24
24
"embed": {
25
25
"refs": [
26
+
"#imagesEmbed",
26
27
"app.bsky.embed.images",
27
28
"app.bsky.embed.external",
28
29
"app.bsky.embed.record",
29
30
"app.bsky.embed.video",
30
31
"app.bsky.embed.recordWithMedia"
31
32
],
32
33
"type": "union",
33
-
"description": "Embedded content (images, external links, records)."
34
+
"description": "Embedded content (images, external links, records). Use #imagesEmbed to reference existing images by CID."
34
35
},
35
36
"langs": {
36
37
"type": "array",
37
38
"items": {
38
39
"type": "string",
39
40
"format": "language"
40
41
},
41
42
"maxLength": 3,
42
43
"description": "Language codes (ISO 639-1)."
43
44
},
44
45
"facets": {
45
46
"type": "array",
46
47
"items": {
47
48
"ref": "app.bsky.richtext.facet",
48
49
"type": "ref"
49
50
},
50
51
"description": "Rich text facets (links, mentions, tags)."
51
52
},
52
53
"labels": {
53
54
"ref": "com.atproto.label.defs#selfLabels",
54
55
"type": "ref",
55
56
"description": "Self-applied content labels for content warnings (AT Protocol standard)."
56
57
},
57
58
"scheduledAt": {
58
59
"type": "string",
59
60
"format": "datetime",
60
61
"maxLength": 100,
61
62
"description": "New scheduled publication datetime (ISO 8601)."
62
63
},
63
64
"threadgateRules": {
64
65
"type": "array",
65
66
"items": {
66
67
"refs": [
67
68
"app.bsky.feed.threadgate#mentionRule",
68
69
"app.bsky.feed.threadgate#followerRule",
69
70
"app.bsky.feed.threadgate#followingRule",
70
71
"app.bsky.feed.threadgate#listRule"
71
72
],
72
73
"type": "union"
73
74
},
74
75
"maxLength": 5,
75
76
"description": "Thread gate rules to control who can reply"
76
77
},
77
78
"disableQuotePosts": {
78
79
"type": "boolean",
79
80
"description": "Whether to disable quote posts"
80
81
}
81
82
}
82
83
},
83
84
"encoding": "application/json"
84
85
},
85
86
"errors": [
86
87
{
87
88
"name": "PostNotFound"
88
89
},
89
90
{
90
91
"name": "PostNotPending"
91
92
},
92
93
{
93
94
"name": "NoFieldsProvided"
94
95
}
95
96
],
96
97
"output": {
97
98
"schema": {
98
99
"type": "object",
99
100
"required": [
100
101
"post"
101
102
],
102
103
"properties": {
103
104
"post": {
104
105
"ref": "app.chronosky.schedule.listPosts#scheduledPost",
105
106
"type": "ref"
106
107
}
107
108
}
108
109
},
109
110
"encoding": "application/json"
110
111
},
111
112
"description": "Update a scheduled post. Only PENDING posts can be updated."
113
+
},
114
+
"imageRef": {
115
+
"type": "object",
116
+
"required": [
117
+
"alt"
118
+
],
119
+
"properties": {
120
+
"alt": {
121
+
"type": "string",
122
+
"maxLength": 1000,
123
+
"description": "Alt text for the image."
124
+
},
125
+
"cid": {
126
+
"type": "string",
127
+
"maxLength": 200,
128
+
"description": "CID of an image blob. Can reference an existing image in the post or a newly uploaded image via media.uploadBlob."
129
+
},
130
+
"image": {
131
+
"type": "blob",
132
+
"accept": [
133
+
"image/jpeg",
134
+
"image/png",
135
+
"image/webp",
136
+
"image/gif"
137
+
],
138
+
"maxSize": 1000000,
139
+
"description": "New image blob (for newly uploaded images)."
140
+
}
141
+
},
142
+
"description": "Image reference that supports both new blob uploads and existing image CID references."
143
+
},
144
+
"imagesEmbed": {
145
+
"type": "object",
146
+
"required": [
147
+
"images"
148
+
],
149
+
"properties": {
150
+
"images": {
151
+
"type": "array",
152
+
"items": {
153
+
"ref": "#imageRef",
154
+
"type": "ref"
155
+
},
156
+
"maxLength": 4
157
+
}
158
+
},
159
+
"description": "Images embed that supports CID references for existing images."
112
160
}
113
161
},
114
162
"$type": "com.atproto.lexicon.schema",
115
163
"lexicon": 1
116
164
}