at.locale.comment
Schema Diff
+14 -1
Compatibility Analysis
Breaking Changes Detected
3 breaking changes, 7 non-breaking changes.
Breaking Changes (3)
- RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "at.locale.comment#stringSubject", src: "at.locale.comment#stringSubject", tgt: "at.locale.comment#stringSubject.key", kind: "prop", name: Some("key") }
- RemovedEdge RemovedEdge { src: "at.locale.comment:body.subject", tgt: "at.locale.comment:body.subject:variant1", kind: "variant", name: Some("#keyLocaleSubject") }
- RemovedEdge RemovedEdge { src: "at.locale.comment:body.subject:variant1", tgt: "at.locale.comment#keyLocaleSubject", kind: "ref", name: None }
Non-Breaking Changes (7)
- AddedVertex AddedVertex { vertex_id: "at.locale.comment#stringSubject" }
- AddedVertex AddedVertex { vertex_id: "at.locale.comment#stringSubject.key" }
- AddedVertex AddedVertex { vertex_id: "at.locale.comment:body.subject:variant2" }
- AddedEdge AddedEdge { src: "at.locale.comment:body.subject", tgt: "at.locale.comment:body.subject:variant1", kind: "variant", name: Some("#stringSubject") }
- AddedEdge AddedEdge { src: "at.locale.comment:body.subject", tgt: "at.locale.comment:body.subject:variant2", kind: "variant", name: Some("#keyLocaleSubject") }
- AddedEdge AddedEdge { src: "at.locale.comment:body.subject:variant1", tgt: "at.locale.comment#stringSubject", kind: "ref", name: None }
- AddedEdge AddedEdge { src: "at.locale.comment:body.subject:variant2", tgt: "at.locale.comment#keyLocaleSubject", kind: "ref", name: None }
Migration Guidance
Added Elements
AddedVertex { vertex_id: "at.locale.comment#stringSubject" }AddedVertex { vertex_id: "at.locale.comment#stringSubject.key" }AddedVertex { vertex_id: "at.locale.comment:body.subject:variant2" }
Additional Notes
- Breaking: RequiredEdgeAdded { vertex_id: "at.locale.comment#stringSubject", src: "at.locale.comment#stringSubject", tgt: "at.locale.comment#stringSubject.key", kind: "prop", name: Some("key") }
- Breaking: RemovedEdge { src: "at.locale.comment:body.subject", tgt: "at.locale.comment:body.subject:variant1", kind: "variant", name: Some("#keyLocaleSubject") }
- Breaking: RemovedEdge { src: "at.locale.comment:body.subject:variant1", tgt: "at.locale.comment#keyLocaleSubject", kind: "ref", name: None }
- Non-breaking: AddedEdge { src: "at.locale.comment:body.subject", tgt: "at.locale.comment:body.subject:variant1", kind: "variant", name: Some("#stringSubject") }
- Non-breaking: AddedEdge { src: "at.locale.comment:body.subject", tgt: "at.locale.comment:body.subject:variant2", kind: "variant", name: Some("#keyLocaleSubject") }
- Non-breaking: AddedEdge { src: "at.locale.comment:body.subject:variant1", tgt: "at.locale.comment#stringSubject", kind: "ref", name: None }
- Non-breaking: AddedEdge { src: "at.locale.comment:body.subject:variant2", tgt: "at.locale.comment#keyLocaleSubject", kind: "ref", name: None }
1
1
{
2
2
"$type": "com.atproto.lexicon.schema",
3
3
"defs": {
4
4
"keyLocaleSubject": {
5
5
"properties": {
6
6
"key": {
7
7
"maxLength": 4096,
8
8
"type": "string"
9
9
},
10
10
"locale": {
11
11
"maxLength": 35,
12
12
"type": "string"
13
13
}
14
14
},
15
15
"required": [
16
16
"key",
17
17
"locale"
18
18
],
19
19
"type": "object"
20
20
},
21
21
"main": {
22
22
"key": "tid",
23
23
"record": {
24
24
"properties": {
25
25
"body": {
26
26
"maxGraphemes": 10000,
27
27
"maxLength": 30000,
28
28
"minLength": 1,
29
29
"type": "string"
30
30
},
31
31
"createdAt": {
32
32
"format": "datetime",
33
33
"type": "string"
34
34
},
35
35
"parent": {
36
36
"description": "Parent comment, for threading.",
37
37
"format": "at-uri",
38
38
"type": "string"
39
39
},
40
40
"project": {
41
41
"format": "at-uri",
42
42
"type": "string"
43
43
},
44
44
"subject": {
45
-
"description": "What the comment is about: a record (e.g. a translation) or a (key, locale) pair.",
45
+
"description": "What the comment is about: a record (e.g. a translation), a source string key, or a (key, locale) pair.",
46
46
"refs": [
47
47
"#recordSubject",
48
+
"#stringSubject",
48
49
"#keyLocaleSubject"
49
50
],
50
51
"type": "union"
51
52
}
52
53
},
53
54
"required": [
54
55
"project",
55
56
"subject",
56
57
"body",
57
58
"createdAt"
58
59
],
59
60
"type": "object"
60
61
},
61
62
"type": "record"
62
63
},
63
64
"recordSubject": {
64
65
"properties": {
65
66
"uri": {
66
67
"format": "at-uri",
67
68
"type": "string"
68
69
}
69
70
},
70
71
"required": [
71
72
"uri"
72
73
],
73
74
"type": "object"
75
+
},
76
+
"stringSubject": {
77
+
"properties": {
78
+
"key": {
79
+
"maxLength": 4096,
80
+
"type": "string"
81
+
}
82
+
},
83
+
"required": [
84
+
"key"
85
+
],
86
+
"type": "object"
74
87
}
75
88
},
76
89
"description": "Threaded discussion on a key, a translation, or a locale. Author-owned.",
77
90
"id": "at.locale.comment",
78
91
"lexicon": 1
79
92
}