com.getorbyt.video.recordLoop
Schema Diff
+2 -2
Compatibility Analysis
Breaking Changes Detected
1 breaking change, 0 non-breaking changes.
Breaking Changes (1)
- RequiredEdgeRemoved RequiredEdgeRemoved { vertex_id: "com.getorbyt.video.recordLoop:input", src: "com.getorbyt.video.recordLoop:input", tgt: "com.getorbyt.video.recordLoop:input.playbackToken", kind: "prop", name: Some("playbackToken") }
Migration Guidance
Additional Notes
- Breaking: RequiredEdgeRemoved { vertex_id: "com.getorbyt.video.recordLoop:input", src: "com.getorbyt.video.recordLoop:input", tgt: "com.getorbyt.video.recordLoop:input.playbackToken", kind: "prop", name: Some("playbackToken") }
1
1
{
2
2
"$type": "com.atproto.lexicon.schema",
3
3
"defs": {
4
4
"main": {
5
5
"errors": [
6
6
{
7
7
"name": "InvalidPlaybackToken"
8
8
},
9
9
{
10
10
"name": "LoopRateLimited"
11
11
}
12
12
],
13
13
"input": {
14
14
"encoding": "application/json",
15
15
"schema": {
16
16
"properties": {
17
17
"playbackToken": {
18
+
"description": "Optional. When the service itself served this item it issues a token bound to the viewer and the post, and it is verified here. Surfaces that hydrate from the Bluesky AppView carry no token, so a loop is accepted on proven service-auth identity alone and rate limited per viewer and post. Supply it whenever one was received.",
18
19
"type": "string"
19
20
},
20
21
"post": {
21
22
"format": "at-uri",
22
23
"type": "string"
23
24
}
24
25
},
25
26
"required": [
26
-
"post",
27
-
"playbackToken"
27
+
"post"
28
28
],
29
29
"type": "object"
30
30
}
31
31
},
32
32
"output": {
33
33
"encoding": "application/json",
34
34
"schema": {
35
35
"ref": "com.getorbyt.video.defs#loopView",
36
36
"type": "ref"
37
37
}
38
38
},
39
39
"type": "procedure"
40
40
}
41
41
},
42
42
"id": "com.getorbyt.video.recordLoop",
43
43
"lexicon": 1
44
44
}