From
bafyreifmkcqihurttq7phpn5jklvnm5d7u5ibouxmmcni3eziylnwim7oe
indexed 2026-11-01 04:34 UTC
View this version
To
bafyreidlmbe65t63k6axbstxuyjoep3wxv53mieydjlzvwup6hyjuhs7hy
indexed 2026-11-01 17:17 UTC
View this version
Compatibility
breaking 6 breaking changes, 17 non-breaking changes.
Breaking changes (6)
- RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "com.getorbyt.send.defs#allowFromOption", src: "com.getorbyt.send.defs#allowFromOption", tgt: "com.getorbyt.send.defs#allowFromOption.value", kind: "prop", name: Some("value") }
- RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "com.getorbyt.send.defs#allowFromOption", src: "com.getorbyt.send.defs#allowFromOption", tgt: "com.getorbyt.send.defs#allowFromOption.title", kind: "prop", name: Some("title") }
- RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "com.getorbyt.send.defs#preferences", src: "com.getorbyt.send.defs#preferences", tgt: "com.getorbyt.send.defs#preferences.allowFrom", kind: "prop", name: Some("allowFrom") }
- RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "com.getorbyt.send.defs#preferences", src: "com.getorbyt.send.defs#preferences", tgt: "com.getorbyt.send.defs#preferences.receipts", kind: "prop", name: Some("receipts") }
- RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "com.getorbyt.send.defs#preferencesView", src: "com.getorbyt.send.defs#preferencesView", tgt: "com.getorbyt.send.defs#preferencesView.allowFromOptions", kind: "prop", name: Some("allowFromOptions") }
- RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "com.getorbyt.send.defs#preferencesView", src: "com.getorbyt.send.defs#preferencesView", tgt: "com.getorbyt.send.defs#preferencesView.preferences", kind: "prop", name: Some("preferences") }
Non-breaking changes (17)
- AddedVertex AddedVertex { vertex_id: "com.getorbyt.send.defs#allowFromOption" }
- AddedVertex AddedVertex { vertex_id: "com.getorbyt.send.defs#allowFromOption.title" }
- AddedVertex AddedVertex { vertex_id: "com.getorbyt.send.defs#allowFromOption.value" }
- AddedVertex AddedVertex { vertex_id: "com.getorbyt.send.defs#preferences" }
- AddedVertex AddedVertex { vertex_id: "com.getorbyt.send.defs#preferences.allowFrom" }
- AddedVertex AddedVertex { vertex_id: "com.getorbyt.send.defs#preferences.receipts" }
- AddedVertex AddedVertex { vertex_id: "com.getorbyt.send.defs#preferencesView" }
- AddedVertex AddedVertex { vertex_id: "com.getorbyt.send.defs#preferencesView.allowFromDescription" }
- AddedVertex AddedVertex { vertex_id: "com.getorbyt.send.defs#preferencesView.allowFromOptions" }
- AddedVertex AddedVertex { vertex_id: "com.getorbyt.send.defs#preferencesView.allowFromOptions:items" }
- AddedVertex AddedVertex { vertex_id: "com.getorbyt.send.defs#preferencesView.preferences" }
- AddedVertex AddedVertex { vertex_id: "com.getorbyt.send.defs#preferencesView.receiptsDescription" }
- AddedEdge AddedEdge { src: "com.getorbyt.send.defs#preferencesView", tgt: "com.getorbyt.send.defs#preferencesView.allowFromDescription", kind: "prop", name: Some("allowFromDescription") }
- AddedEdge AddedEdge { src: "com.getorbyt.send.defs#preferencesView", tgt: "com.getorbyt.send.defs#preferencesView.receiptsDescription", kind: "prop", name: Some("receiptsDescription") }
- AddedEdge AddedEdge { src: "com.getorbyt.send.defs#preferencesView.allowFromOptions", tgt: "com.getorbyt.send.defs#preferencesView.allowFromOptions:items", kind: "items", name: None }
- AddedEdge AddedEdge { src: "com.getorbyt.send.defs#preferencesView.allowFromOptions:items", tgt: "com.getorbyt.send.defs#allowFromOption", kind: "ref", name: None }
- AddedEdge AddedEdge { src: "com.getorbyt.send.defs#preferencesView.preferences", tgt: "com.getorbyt.send.defs#preferences", kind: "ref", name: None }
Migration guidance
Added
AddedVertex { vertex_id: "com.getorbyt.send.defs#allowFromOption" }AddedVertex { vertex_id: "com.getorbyt.send.defs#allowFromOption.title" }AddedVertex { vertex_id: "com.getorbyt.send.defs#allowFromOption.value" }AddedVertex { vertex_id: "com.getorbyt.send.defs#preferences" }AddedVertex { vertex_id: "com.getorbyt.send.defs#preferences.allowFrom" }AddedVertex { vertex_id: "com.getorbyt.send.defs#preferences.receipts" }AddedVertex { vertex_id: "com.getorbyt.send.defs#preferencesView" }AddedVertex { vertex_id: "com.getorbyt.send.defs#preferencesView.allowFromDescription" }AddedVertex { vertex_id: "com.getorbyt.send.defs#preferencesView.allowFromOptions" }AddedVertex { vertex_id: "com.getorbyt.send.defs#preferencesView.allowFromOptions:items" }AddedVertex { vertex_id: "com.getorbyt.send.defs#preferencesView.preferences" }AddedVertex { vertex_id: "com.getorbyt.send.defs#preferencesView.receiptsDescription" }
Notes
- Breaking: RequiredEdgeAdded { vertex_id: "com.getorbyt.send.defs#preferences", src: "com.getorbyt.send.defs#preferences", tgt: "com.getorbyt.send.defs#preferences.allowFrom", kind: "prop", name: Some("allowFrom") }
- Breaking: RequiredEdgeAdded { vertex_id: "com.getorbyt.send.defs#preferences", src: "com.getorbyt.send.defs#preferences", tgt: "com.getorbyt.send.defs#preferences.receipts", kind: "prop", name: Some("receipts") }
- Breaking: RequiredEdgeAdded { vertex_id: "com.getorbyt.send.defs#preferencesView", src: "com.getorbyt.send.defs#preferencesView", tgt: "com.getorbyt.send.defs#preferencesView.allowFromOptions", kind: "prop", name: Some("allowFromOptions") }
- Breaking: RequiredEdgeAdded { vertex_id: "com.getorbyt.send.defs#preferencesView", src: "com.getorbyt.send.defs#preferencesView", tgt: "com.getorbyt.send.defs#preferencesView.preferences", kind: "prop", name: Some("preferences") }
- Breaking: RequiredEdgeAdded { vertex_id: "com.getorbyt.send.defs#allowFromOption", src: "com.getorbyt.send.defs#allowFromOption", tgt: "com.getorbyt.send.defs#allowFromOption.value", kind: "prop", name: Some("value") }
- Breaking: RequiredEdgeAdded { vertex_id: "com.getorbyt.send.defs#allowFromOption", src: "com.getorbyt.send.defs#allowFromOption", tgt: "com.getorbyt.send.defs#allowFromOption.title", kind: "prop", name: Some("title") }
- Non-breaking: AddedEdge { src: "com.getorbyt.send.defs#preferencesView", tgt: "com.getorbyt.send.defs#preferencesView.allowFromDescription", kind: "prop", name: Some("allowFromDescription") }
- Non-breaking: AddedEdge { src: "com.getorbyt.send.defs#preferencesView", tgt: "com.getorbyt.send.defs#preferencesView.receiptsDescription", kind: "prop", name: Some("receiptsDescription") }
- Non-breaking: AddedEdge { src: "com.getorbyt.send.defs#preferencesView.allowFromOptions", tgt: "com.getorbyt.send.defs#preferencesView.allowFromOptions:items", kind: "items", name: None }
- Non-breaking: AddedEdge { src: "com.getorbyt.send.defs#preferencesView.allowFromOptions:items", tgt: "com.getorbyt.send.defs#allowFromOption", kind: "ref", name: None }
- Non-breaking: AddedEdge { src: "com.getorbyt.send.defs#preferencesView.preferences", tgt: "com.getorbyt.send.defs#preferences", kind: "ref", name: None }
Changes
11
{22
"$type": "com.atproto.lexicon.schema",33
"defs": {4
"allowFromOption": {5
"description": "One choice for `preferences.allowFrom`, in the service's words.",6
"properties": {7
"title": {8
"maxGraphemes": 60,9
"maxLength": 200,10
"type": "string"11
},12
"value": {13
"maxLength": 32,14
"type": "string"15
}16
},17
"required": [18
"value",19
"title"20
],21
"type": "object"22
},23
"preferences": {24
"description": "What the viewer lets Sends do. Held by the service and read only by the viewer.",25
"properties": {26
"allowFrom": {27
"description": "Who may send to the viewer: people the viewer follows, only people the viewer follows who follow them back, or no one. A block in either direction always stops a send.",28
"knownValues": [29
"following",30
"mutuals",31
"none"32
],33
"type": "string"34
},35
"receipts": {36
"description": "Whether a sender sees that the viewer watched what they sent, and how many times they looped it.",37
"type": "boolean"38
}39
},40
"required": [41
"allowFrom",42
"receipts"43
],44
"type": "object"45
},46
"preferencesView": {47
"properties": {48
"allowFromDescription": {49
"description": "What `allowFrom` does, in the service's words.",50
"maxGraphemes": 200,51
"maxLength": 600,52
"type": "string"53
},54
"allowFromOptions": {55
"description": "The choices for `allowFrom`, in the order to show them.",56
"items": {57
"ref": "#allowFromOption",58
"type": "ref"59
},60
"maxLength": 8,61
"type": "array"62
},63
"preferences": {64
"ref": "#preferences",65
"type": "ref"66
},67
"receiptsDescription": {68
"description": "What `receipts` does, in the service's words.",69
"maxGraphemes": 200,70
"maxLength": 600,71
"type": "string"72
}73
},74
"required": [75
"preferences",76
"allowFromOptions"77
],78
"type": "object"79
},480
"recipientState": {581
"properties": {682
"reaction": {783
"maxGraphemes": 1,884
"maxLength": 32,985
"type": "string"1086
},1187
"watchedAt": {1288
"format": "datetime",1389
"type": "string"1490
}1591
},1692
"type": "object"1793
},1894
"recipientView": {1995
"properties": {2096
"actor": {2197
"ref": "com.getorbyt.actor.defs#profileView",2298
"type": "ref"2399
},24100
"loopCount": {25101
"description": "How many times the recipient has looped it since it was sent.",26102
"minimum": 0,27103
"type": "integer"28104
},29105
"reaction": {30106
"maxGraphemes": 1,31107
"maxLength": 32,32108
"type": "string"33109
},34110
"watchedAt": {35111
"description": "When the recipient first looped the video after it was sent. Absent until they do.",36112
"format": "datetime",37113
"type": "string"38114
}39115
},40116
"required": [41117
"actor"42118
],43119
"type": "object"44120
},45121
"sendView": {46122
"description": "A video one account sent to a few others: a pointer to a post that is already public, an optional note, and what each recipient did with it. Held by the service, not in any repository, and shown only to its sender and its recipients.",47123
"properties": {48124
"createdAt": {49125
"format": "datetime",50126
"type": "string"51127
},52128
"id": {53129
"maxLength": 64,54130
"type": "string"55131
},56132
"note": {57133
"maxGraphemes": 150,58134
"maxLength": 600,59135
"type": "string"60136
},61137
"reactions": {62138
"description": "The reactions a recipient may answer with, chosen by the service. Present only for a recipient.",63139
"items": {64140
"maxGraphemes": 1,65141
"maxLength": 32,66142
"type": "string"67143
},68144
"maxLength": 12,69145
"type": "array"70146
},71147
"recipients": {72148
"description": "Who received it and what they did. Only the sender is shown this.",73149
"items": {74150
"ref": "#recipientView",75151
"type": "ref"76152
},77153
"maxLength": 8,78154
"type": "array"79155
},80156
"sender": {81157
"ref": "com.getorbyt.actor.defs#profileView",82158
"type": "ref"83159
},84160
"subject": {85161
"description": "The post sent.",86162
"format": "at-uri",87163
"type": "string"88164
},89165
"viewer": {90166
"description": "The viewer's own state, when the viewer is a recipient.",91167
"ref": "#recipientState",92168
"type": "ref"93169
}94170
},95171
"required": [96172
"id",97173
"subject",98174
"sender",99175
"createdAt"100176
],101177
"type": "object"102178
}103179
},104180
"id": "com.getorbyt.send.defs",105181
"lexicon": 1106182
}