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