live.streamface.emoticons.settings
Schema Diff
+124 -0
Compatibility Analysis
Breaking Changes Detected
10 breaking changes, 38 non-breaking changes.
Breaking Changes (10)
- RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "live.streamface.emoticons.settings#moderationRule", src: "live.streamface.emoticons.settings#moderationRule", tgt: "live.streamface.emoticons.settings#moderationRule.blocked", kind: "prop", name: Some("blocked") }
- RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "live.streamface.emoticons.settings#moderationRule", src: "live.streamface.emoticons.settings#moderationRule", tgt: "live.streamface.emoticons.settings#moderationRule.cooldownMilliseconds", kind: "prop", name: Some("cooldownMilliseconds") }
- RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "live.streamface.emoticons.settings#moderationRule", src: "live.streamface.emoticons.settings#moderationRule", tgt: "live.streamface.emoticons.settings#moderationRule.did", kind: "prop", name: Some("did") }
- RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "live.streamface.emoticons.settings#roles", src: "live.streamface.emoticons.settings#roles", tgt: "live.streamface.emoticons.settings#roles.followers", kind: "prop", name: Some("followers") }
- RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "live.streamface.emoticons.settings#roles", src: "live.streamface.emoticons.settings#roles", tgt: "live.streamface.emoticons.settings#roles.moderators", kind: "prop", name: Some("moderators") }
- RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "live.streamface.emoticons.settings#roles", src: "live.streamface.emoticons.settings#roles", tgt: "live.streamface.emoticons.settings#roles.users", kind: "prop", name: Some("users") }
- RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "live.streamface.emoticons.settings#roles", src: "live.streamface.emoticons.settings#roles", tgt: "live.streamface.emoticons.settings#roles.mutuals", kind: "prop", name: Some("mutuals") }
- RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "live.streamface.emoticons.settings#allowedUser", src: "live.streamface.emoticons.settings#allowedUser", tgt: "live.streamface.emoticons.settings#allowedUser.did", kind: "prop", name: Some("did") }
- RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "live.streamface.emoticons.settings#eventMapping", src: "live.streamface.emoticons.settings#eventMapping", tgt: "live.streamface.emoticons.settings#eventMapping.event", kind: "prop", name: Some("event") }
- RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "live.streamface.emoticons.settings#eventMapping", src: "live.streamface.emoticons.settings#eventMapping", tgt: "live.streamface.emoticons.settings#eventMapping.commandId", kind: "prop", name: Some("commandId") }
Non-Breaking Changes (38)
- AddedVertex AddedVertex { vertex_id: "live.streamface.emoticons.settings#allowedUser" }
- AddedVertex AddedVertex { vertex_id: "live.streamface.emoticons.settings#allowedUser.did" }
- AddedVertex AddedVertex { vertex_id: "live.streamface.emoticons.settings#allowedUser.handle" }
- AddedVertex AddedVertex { vertex_id: "live.streamface.emoticons.settings#eventMapping" }
- AddedVertex AddedVertex { vertex_id: "live.streamface.emoticons.settings#eventMapping.commandId" }
- AddedVertex AddedVertex { vertex_id: "live.streamface.emoticons.settings#eventMapping.event" }
- AddedVertex AddedVertex { vertex_id: "live.streamface.emoticons.settings#eventMapping.text" }
- AddedVertex AddedVertex { vertex_id: "live.streamface.emoticons.settings#moderationRule" }
- AddedVertex AddedVertex { vertex_id: "live.streamface.emoticons.settings#moderationRule.blocked" }
- AddedVertex AddedVertex { vertex_id: "live.streamface.emoticons.settings#moderationRule.cooldownMilliseconds" }
- AddedVertex AddedVertex { vertex_id: "live.streamface.emoticons.settings#moderationRule.did" }
- AddedVertex AddedVertex { vertex_id: "live.streamface.emoticons.settings#moderationRule.handle" }
- AddedVertex AddedVertex { vertex_id: "live.streamface.emoticons.settings#roles" }
- AddedVertex AddedVertex { vertex_id: "live.streamface.emoticons.settings#roles.followers" }
- AddedVertex AddedVertex { vertex_id: "live.streamface.emoticons.settings#roles.following" }
- AddedVertex AddedVertex { vertex_id: "live.streamface.emoticons.settings#roles.moderators" }
- AddedVertex AddedVertex { vertex_id: "live.streamface.emoticons.settings#roles.mutuals" }
- AddedVertex AddedVertex { vertex_id: "live.streamface.emoticons.settings#roles.users" }
- AddedVertex AddedVertex { vertex_id: "live.streamface.emoticons.settings#roles.users:items" }
- AddedVertex AddedVertex { vertex_id: "live.streamface.emoticons.settings:body.eventMappings" }
- AddedVertex AddedVertex { vertex_id: "live.streamface.emoticons.settings:body.eventMappings:items" }
- AddedVertex AddedVertex { vertex_id: "live.streamface.emoticons.settings:body.moderation" }
- AddedVertex AddedVertex { vertex_id: "live.streamface.emoticons.settings:body.moderation:items" }
- AddedVertex AddedVertex { vertex_id: "live.streamface.emoticons.settings:body.roles" }
- AddedEdge AddedEdge { src: "live.streamface.emoticons.settings#allowedUser", tgt: "live.streamface.emoticons.settings#allowedUser.handle", kind: "prop", name: Some("handle") }
- AddedEdge AddedEdge { src: "live.streamface.emoticons.settings#eventMapping", tgt: "live.streamface.emoticons.settings#eventMapping.text", kind: "prop", name: Some("text") }
- AddedEdge AddedEdge { src: "live.streamface.emoticons.settings#moderationRule", tgt: "live.streamface.emoticons.settings#moderationRule.handle", kind: "prop", name: Some("handle") }
- AddedEdge AddedEdge { src: "live.streamface.emoticons.settings#roles", tgt: "live.streamface.emoticons.settings#roles.following", kind: "prop", name: Some("following") }
- AddedEdge AddedEdge { src: "live.streamface.emoticons.settings#roles.users", tgt: "live.streamface.emoticons.settings#roles.users:items", kind: "items", name: None }
- AddedEdge AddedEdge { src: "live.streamface.emoticons.settings#roles.users:items", tgt: "live.streamface.emoticons.settings#allowedUser", kind: "ref", name: None }
- AddedEdge AddedEdge { src: "live.streamface.emoticons.settings:body", tgt: "live.streamface.emoticons.settings:body.eventMappings", kind: "prop", name: Some("eventMappings") }
- AddedEdge AddedEdge { src: "live.streamface.emoticons.settings:body", tgt: "live.streamface.emoticons.settings:body.moderation", kind: "prop", name: Some("moderation") }
- AddedEdge AddedEdge { src: "live.streamface.emoticons.settings:body", tgt: "live.streamface.emoticons.settings:body.roles", kind: "prop", name: Some("roles") }
- AddedEdge AddedEdge { src: "live.streamface.emoticons.settings:body.eventMappings", tgt: "live.streamface.emoticons.settings:body.eventMappings:items", kind: "items", name: None }
- AddedEdge AddedEdge { src: "live.streamface.emoticons.settings:body.eventMappings:items", tgt: "live.streamface.emoticons.settings#eventMapping", kind: "ref", name: None }
- AddedEdge AddedEdge { src: "live.streamface.emoticons.settings:body.moderation", tgt: "live.streamface.emoticons.settings:body.moderation:items", kind: "items", name: None }
- AddedEdge AddedEdge { src: "live.streamface.emoticons.settings:body.moderation:items", tgt: "live.streamface.emoticons.settings#moderationRule", kind: "ref", name: None }
- AddedEdge AddedEdge { src: "live.streamface.emoticons.settings:body.roles", tgt: "live.streamface.emoticons.settings#roles", kind: "ref", name: None }
Migration Guidance
Added Elements
AddedVertex { vertex_id: "live.streamface.emoticons.settings#allowedUser" }AddedVertex { vertex_id: "live.streamface.emoticons.settings#allowedUser.did" }AddedVertex { vertex_id: "live.streamface.emoticons.settings#allowedUser.handle" }AddedVertex { vertex_id: "live.streamface.emoticons.settings#eventMapping" }AddedVertex { vertex_id: "live.streamface.emoticons.settings#eventMapping.commandId" }AddedVertex { vertex_id: "live.streamface.emoticons.settings#eventMapping.event" }AddedVertex { vertex_id: "live.streamface.emoticons.settings#eventMapping.text" }AddedVertex { vertex_id: "live.streamface.emoticons.settings#moderationRule" }AddedVertex { vertex_id: "live.streamface.emoticons.settings#moderationRule.blocked" }AddedVertex { vertex_id: "live.streamface.emoticons.settings#moderationRule.cooldownMilliseconds" }AddedVertex { vertex_id: "live.streamface.emoticons.settings#moderationRule.did" }AddedVertex { vertex_id: "live.streamface.emoticons.settings#moderationRule.handle" }AddedVertex { vertex_id: "live.streamface.emoticons.settings#roles" }AddedVertex { vertex_id: "live.streamface.emoticons.settings#roles.followers" }AddedVertex { vertex_id: "live.streamface.emoticons.settings#roles.following" }AddedVertex { vertex_id: "live.streamface.emoticons.settings#roles.moderators" }AddedVertex { vertex_id: "live.streamface.emoticons.settings#roles.mutuals" }AddedVertex { vertex_id: "live.streamface.emoticons.settings#roles.users" }AddedVertex { vertex_id: "live.streamface.emoticons.settings#roles.users:items" }AddedVertex { vertex_id: "live.streamface.emoticons.settings:body.eventMappings" }AddedVertex { vertex_id: "live.streamface.emoticons.settings:body.eventMappings:items" }AddedVertex { vertex_id: "live.streamface.emoticons.settings:body.moderation" }AddedVertex { vertex_id: "live.streamface.emoticons.settings:body.moderation:items" }AddedVertex { vertex_id: "live.streamface.emoticons.settings:body.roles" }
Additional Notes
- Breaking: RequiredEdgeAdded { vertex_id: "live.streamface.emoticons.settings#allowedUser", src: "live.streamface.emoticons.settings#allowedUser", tgt: "live.streamface.emoticons.settings#allowedUser.did", kind: "prop", name: Some("did") }
- Breaking: RequiredEdgeAdded { vertex_id: "live.streamface.emoticons.settings#roles", src: "live.streamface.emoticons.settings#roles", tgt: "live.streamface.emoticons.settings#roles.followers", kind: "prop", name: Some("followers") }
- Breaking: RequiredEdgeAdded { vertex_id: "live.streamface.emoticons.settings#roles", src: "live.streamface.emoticons.settings#roles", tgt: "live.streamface.emoticons.settings#roles.moderators", kind: "prop", name: Some("moderators") }
- Breaking: RequiredEdgeAdded { vertex_id: "live.streamface.emoticons.settings#roles", src: "live.streamface.emoticons.settings#roles", tgt: "live.streamface.emoticons.settings#roles.users", kind: "prop", name: Some("users") }
- Breaking: RequiredEdgeAdded { vertex_id: "live.streamface.emoticons.settings#roles", src: "live.streamface.emoticons.settings#roles", tgt: "live.streamface.emoticons.settings#roles.mutuals", kind: "prop", name: Some("mutuals") }
- Breaking: RequiredEdgeAdded { vertex_id: "live.streamface.emoticons.settings#moderationRule", src: "live.streamface.emoticons.settings#moderationRule", tgt: "live.streamface.emoticons.settings#moderationRule.blocked", kind: "prop", name: Some("blocked") }
- Breaking: RequiredEdgeAdded { vertex_id: "live.streamface.emoticons.settings#moderationRule", src: "live.streamface.emoticons.settings#moderationRule", tgt: "live.streamface.emoticons.settings#moderationRule.cooldownMilliseconds", kind: "prop", name: Some("cooldownMilliseconds") }
- Breaking: RequiredEdgeAdded { vertex_id: "live.streamface.emoticons.settings#moderationRule", src: "live.streamface.emoticons.settings#moderationRule", tgt: "live.streamface.emoticons.settings#moderationRule.did", kind: "prop", name: Some("did") }
- Breaking: RequiredEdgeAdded { vertex_id: "live.streamface.emoticons.settings#eventMapping", src: "live.streamface.emoticons.settings#eventMapping", tgt: "live.streamface.emoticons.settings#eventMapping.event", kind: "prop", name: Some("event") }
- Breaking: RequiredEdgeAdded { vertex_id: "live.streamface.emoticons.settings#eventMapping", src: "live.streamface.emoticons.settings#eventMapping", tgt: "live.streamface.emoticons.settings#eventMapping.commandId", kind: "prop", name: Some("commandId") }
- Non-breaking: AddedEdge { src: "live.streamface.emoticons.settings#allowedUser", tgt: "live.streamface.emoticons.settings#allowedUser.handle", kind: "prop", name: Some("handle") }
- Non-breaking: AddedEdge { src: "live.streamface.emoticons.settings#eventMapping", tgt: "live.streamface.emoticons.settings#eventMapping.text", kind: "prop", name: Some("text") }
- Non-breaking: AddedEdge { src: "live.streamface.emoticons.settings#moderationRule", tgt: "live.streamface.emoticons.settings#moderationRule.handle", kind: "prop", name: Some("handle") }
- Non-breaking: AddedEdge { src: "live.streamface.emoticons.settings#roles", tgt: "live.streamface.emoticons.settings#roles.following", kind: "prop", name: Some("following") }
- Non-breaking: AddedEdge { src: "live.streamface.emoticons.settings#roles.users", tgt: "live.streamface.emoticons.settings#roles.users:items", kind: "items", name: None }
- Non-breaking: AddedEdge { src: "live.streamface.emoticons.settings#roles.users:items", tgt: "live.streamface.emoticons.settings#allowedUser", kind: "ref", name: None }
- Non-breaking: AddedEdge { src: "live.streamface.emoticons.settings:body", tgt: "live.streamface.emoticons.settings:body.eventMappings", kind: "prop", name: Some("eventMappings") }
- Non-breaking: AddedEdge { src: "live.streamface.emoticons.settings:body", tgt: "live.streamface.emoticons.settings:body.moderation", kind: "prop", name: Some("moderation") }
- Non-breaking: AddedEdge { src: "live.streamface.emoticons.settings:body", tgt: "live.streamface.emoticons.settings:body.roles", kind: "prop", name: Some("roles") }
- Non-breaking: AddedEdge { src: "live.streamface.emoticons.settings:body.eventMappings", tgt: "live.streamface.emoticons.settings:body.eventMappings:items", kind: "items", name: None }
- Non-breaking: AddedEdge { src: "live.streamface.emoticons.settings:body.eventMappings:items", tgt: "live.streamface.emoticons.settings#eventMapping", kind: "ref", name: None }
- Non-breaking: AddedEdge { src: "live.streamface.emoticons.settings:body.moderation", tgt: "live.streamface.emoticons.settings:body.moderation:items", kind: "items", name: None }
- Non-breaking: AddedEdge { src: "live.streamface.emoticons.settings:body.moderation:items", tgt: "live.streamface.emoticons.settings#moderationRule", kind: "ref", name: None }
- Non-breaking: AddedEdge { src: "live.streamface.emoticons.settings:body.roles", tgt: "live.streamface.emoticons.settings#roles", kind: "ref", name: None }
1
1
{
2
2
"$type": "com.atproto.lexicon.schema",
3
3
"defs": {
4
+
"allowedUser": {
5
+
"properties": {
6
+
"did": {
7
+
"format": "did",
8
+
"maxLength": 2048,
9
+
"type": "string"
10
+
},
11
+
"handle": {
12
+
"maxLength": 253,
13
+
"type": "string"
14
+
}
15
+
},
16
+
"required": [
17
+
"did"
18
+
],
19
+
"type": "object"
20
+
},
21
+
"eventMapping": {
22
+
"properties": {
23
+
"commandId": {
24
+
"maxLength": 512,
25
+
"type": "string"
26
+
},
27
+
"event": {
28
+
"enum": [
29
+
"teleport-arrival",
30
+
"teleport-canceled",
31
+
"stream-started",
32
+
"stream-ended"
33
+
],
34
+
"type": "string"
35
+
},
36
+
"text": {
37
+
"description": "Optional overlay text beneath the event clip.",
38
+
"maxGraphemes": 500,
39
+
"maxLength": 2000,
40
+
"type": "string"
41
+
}
42
+
},
43
+
"required": [
44
+
"event",
45
+
"commandId"
46
+
],
47
+
"type": "object"
48
+
},
4
49
"main": {
5
50
"key": "literal:self",
6
51
"record": {
7
52
"properties": {
8
53
"createdAt": {
9
54
"format": "datetime",
10
55
"type": "string"
11
56
},
12
57
"enabled": {
13
58
"type": "boolean"
14
59
},
60
+
"eventMappings": {
61
+
"items": {
62
+
"ref": "#eventMapping",
63
+
"type": "ref"
64
+
},
65
+
"maxLength": 4,
66
+
"type": "array"
67
+
},
68
+
"moderation": {
69
+
"items": {
70
+
"ref": "#moderationRule",
71
+
"type": "ref"
72
+
},
73
+
"maxLength": 200,
74
+
"type": "array"
75
+
},
76
+
"roles": {
77
+
"ref": "#roles",
78
+
"type": "ref"
79
+
},
15
80
"updatedAt": {
16
81
"format": "datetime",
17
82
"type": "string"
18
83
}
19
84
},
20
85
"required": [
21
86
"enabled",
22
87
"createdAt",
23
88
"updatedAt"
24
89
],
25
90
"type": "object"
26
91
},
27
92
"type": "record"
93
+
},
94
+
"moderationRule": {
95
+
"properties": {
96
+
"blocked": {
97
+
"type": "boolean"
98
+
},
99
+
"cooldownMilliseconds": {
100
+
"maximum": 86400000,
101
+
"minimum": 0,
102
+
"type": "integer"
103
+
},
104
+
"did": {
105
+
"format": "did",
106
+
"maxLength": 2048,
107
+
"type": "string"
108
+
},
109
+
"handle": {
110
+
"maxLength": 253,
111
+
"type": "string"
112
+
}
113
+
},
114
+
"required": [
115
+
"did",
116
+
"blocked",
117
+
"cooldownMilliseconds"
118
+
],
119
+
"type": "object"
120
+
},
121
+
"roles": {
122
+
"properties": {
123
+
"followers": {
124
+
"type": "boolean"
125
+
},
126
+
"following": {
127
+
"description": "Allow accounts followed by the streamer.",
128
+
"type": "boolean"
129
+
},
130
+
"moderators": {
131
+
"type": "boolean"
132
+
},
133
+
"mutuals": {
134
+
"type": "boolean"
135
+
},
136
+
"users": {
137
+
"items": {
138
+
"ref": "#allowedUser",
139
+
"type": "ref"
140
+
},
141
+
"maxLength": 200,
142
+
"type": "array"
143
+
}
144
+
},
145
+
"required": [
146
+
"followers",
147
+
"mutuals",
148
+
"moderators",
149
+
"users"
150
+
],
151
+
"type": "object"
28
152
}
29
153
},
30
154
"id": "live.streamface.emoticons.settings",
31
155
"lexicon": 1
32
156
}