com.suibari.nagi.post
Schema Diff
+4 -0
Compatibility Analysis
Backward Compatible
Backward compatible. 2 non-breaking changes.
Non-Breaking Changes (2)
- AddedVertex AddedVertex { vertex_id: "com.suibari.nagi.post:body.silentReply" }
- AddedEdge AddedEdge { src: "com.suibari.nagi.post:body", tgt: "com.suibari.nagi.post:body.silentReply", kind: "prop", name: Some("silentReply") }
Migration Guidance
Added Elements
AddedVertex { vertex_id: "com.suibari.nagi.post:body.silentReply" }
Additional Notes
- Non-breaking: AddedEdge { src: "com.suibari.nagi.post:body", tgt: "com.suibari.nagi.post:body.silentReply", kind: "prop", name: Some("silentReply") }
1
1
{
2
2
"id": "com.suibari.nagi.post",
3
3
"defs": {
4
4
"main": {
5
5
"key": "tid",
6
6
"type": "record",
7
7
"record": {
8
8
"type": "object",
9
9
"required": [
10
10
"text",
11
11
"createdAt"
12
12
],
13
13
"properties": {
14
14
"text": {
15
15
"type": "string",
16
16
"maxLength": 30000,
17
17
"maxGraphemes": 3000
18
18
},
19
19
"embed": {
20
20
"refs": [
21
21
"#images",
22
22
"#quote"
23
23
],
24
24
"type": "union"
25
25
},
26
26
"langs": {
27
27
"type": "array",
28
28
"items": {
29
29
"type": "string",
30
30
"format": "language"
31
31
},
32
32
"maxLength": 3
33
33
},
34
34
"reply": {
35
35
"ref": "#replyRef",
36
36
"type": "ref"
37
37
},
38
38
"facets": {
39
39
"type": "array",
40
40
"items": {
41
41
"ref": "app.bsky.richtext.facet",
42
42
"type": "ref"
43
43
}
44
44
},
45
45
"channel": {
46
46
"ref": "com.atproto.repo.strongRef",
47
47
"type": "ref"
48
48
},
49
49
"kossori": {
50
50
"type": "boolean"
51
51
},
52
52
"botSilent": {
53
53
"type": "boolean"
54
54
},
55
55
"createdAt": {
56
56
"type": "string",
57
57
"format": "datetime"
58
58
},
59
59
"linkCards": {
60
60
"type": "array",
61
61
"items": {
62
62
"ref": "#linkCard",
63
63
"type": "ref"
64
64
},
65
65
"maxLength": 4
66
66
},
67
67
"channelOnly": {
68
68
"type": "boolean"
69
69
},
70
+
"silentReply": {
71
+
"type": "boolean",
72
+
"description": "true の返信は直接の返信先へ通知しない。返信以外では効果を持たない。"
73
+
},
70
74
"cwRestricted": {
71
75
"type": "boolean"
72
76
}
73
77
}
74
78
}
75
79
},
76
80
"image": {
77
81
"type": "object",
78
82
"required": [
79
83
"image",
80
84
"alt"
81
85
],
82
86
"properties": {
83
87
"alt": {
84
88
"type": "string",
85
89
"maxLength": 10000,
86
90
"maxGraphemes": 1000
87
91
},
88
92
"image": {
89
93
"type": "blob",
90
94
"accept": [
91
95
"image/jpeg",
92
96
"image/png",
93
97
"image/webp",
94
98
"image/gif"
95
99
],
96
100
"maxSize": 2000000
97
101
},
98
102
"aspectRatio": {
99
103
"ref": "app.bsky.embed.defs#aspectRatio",
100
104
"type": "ref"
101
105
},
102
106
"contentWarning": {
103
107
"type": "boolean"
104
108
}
105
109
}
106
110
},
107
111
"quote": {
108
112
"type": "object",
109
113
"required": [
110
114
"record"
111
115
],
112
116
"properties": {
113
117
"images": {
114
118
"type": "array",
115
119
"items": {
116
120
"ref": "#image",
117
121
"type": "ref"
118
122
},
119
123
"maxLength": 4,
120
124
"minLength": 1
121
125
},
122
126
"record": {
123
127
"ref": "com.atproto.repo.strongRef",
124
128
"type": "ref"
125
129
}
126
130
}
127
131
},
128
132
"images": {
129
133
"type": "object",
130
134
"required": [
131
135
"images"
132
136
],
133
137
"properties": {
134
138
"images": {
135
139
"type": "array",
136
140
"items": {
137
141
"ref": "#image",
138
142
"type": "ref"
139
143
},
140
144
"maxLength": 4,
141
145
"minLength": 1
142
146
}
143
147
}
144
148
},
145
149
"linkCard": {
146
150
"type": "object",
147
151
"required": [
148
152
"uri",
149
153
"title"
150
154
],
151
155
"properties": {
152
156
"uri": {
153
157
"type": "string",
154
158
"format": "uri",
155
159
"maxLength": 2048
156
160
},
157
161
"thumb": {
158
162
"type": "blob",
159
163
"accept": [
160
164
"image/jpeg",
161
165
"image/png",
162
166
"image/webp"
163
167
],
164
168
"maxSize": 1000000
165
169
},
166
170
"title": {
167
171
"type": "string",
168
172
"maxLength": 3000,
169
173
"maxGraphemes": 300
170
174
},
171
175
"description": {
172
176
"type": "string",
173
177
"maxLength": 10000,
174
178
"maxGraphemes": 1000
175
179
}
176
180
}
177
181
},
178
182
"replyRef": {
179
183
"type": "object",
180
184
"required": [
181
185
"root",
182
186
"parent"
183
187
],
184
188
"properties": {
185
189
"root": {
186
190
"ref": "com.atproto.repo.strongRef",
187
191
"type": "ref"
188
192
},
189
193
"parent": {
190
194
"ref": "com.atproto.repo.strongRef",
191
195
"type": "ref"
192
196
}
193
197
}
194
198
}
195
199
},
196
200
"$type": "com.atproto.lexicon.schema",
197
201
"lexicon": 1
198
202
}