tech.tokimeki.forum.reaction
Schema Diff
+5 -3
Compatibility Analysis
Breaking Changes Detected
2 breaking changes, 3 non-breaking changes.
Breaking Changes (2)
- KindChanged KindChanged { vertex_id: "tech.tokimeki.forum.reaction:body.subject", old_kind: "string", new_kind: "ref" }
- ConstraintAdded ConstraintAdded { vertex_id: "tech.tokimeki.forum.reaction:body.subject", sort: "ref", value: "com.atproto.repo.strongRef" }
Non-Breaking Changes (3)
- AddedVertex AddedVertex { vertex_id: "com.atproto.repo.strongRef" }
- AddedEdge AddedEdge { src: "tech.tokimeki.forum.reaction:body.subject", tgt: "com.atproto.repo.strongRef", kind: "ref", name: None }
- ConstraintRemoved ConstraintRemoved { vertex_id: "tech.tokimeki.forum.reaction:body.subject", sort: "format" }
Migration Guidance
Added Elements
AddedVertex { vertex_id: "com.atproto.repo.strongRef" }
Constraint Changes
- ConstraintAdded ConstraintAdded { vertex_id: "tech.tokimeki.forum.reaction:body.subject", sort: "ref", value: "com.atproto.repo.strongRef" }
- ConstraintRemoved ConstraintRemoved { vertex_id: "tech.tokimeki.forum.reaction:body.subject", sort: "format" }
Additional Notes
- Breaking: KindChanged { vertex_id: "tech.tokimeki.forum.reaction:body.subject", old_kind: "string", new_kind: "ref" }
- Non-breaking: AddedEdge { src: "tech.tokimeki.forum.reaction:body.subject", tgt: "com.atproto.repo.strongRef", kind: "ref", name: None }
1
1
{
2
2
"id": "tech.tokimeki.forum.reaction",
3
3
"defs": {
4
4
"main": {
5
5
"key": "any",
6
6
"type": "record",
7
7
"record": {
8
8
"type": "object",
9
9
"required": [
10
10
"subject",
11
11
"emoji",
12
12
"createdAt"
13
13
],
14
14
"properties": {
15
15
"emoji": {
16
16
"type": "string",
17
17
"maxLength": 64,
18
+
"description": "A single emoji (grapheme cluster).",
18
19
"maxGraphemes": 8
19
20
},
20
21
"subject": {
21
-
"type": "string",
22
-
"format": "at-uri"
22
+
"ref": "com.atproto.repo.strongRef",
23
+
"type": "ref",
24
+
"description": "The tech.tokimeki.forum.message or tech.tokimeki.forum.thread being reacted to."
23
25
},
24
26
"createdAt": {
25
27
"type": "string",
26
28
"format": "datetime"
27
29
}
28
30
}
29
31
},
30
-
"description": "An emoji reaction to a message. Written into the reactor's own repo within the space. rkey is derived from the subject so that one reactor has at most one record per (message, emoji)."
32
+
"description": "An emoji reaction to a message or thread. Written into the reactor's own repo within the space. rkey is derived from the subject URI and the emoji ('r' + base32lower(sha256(uri + '\\n' + emoji))[0:26]) so one reactor has at most one record per (subject, emoji)."
31
33
}
32
34
},
33
35
"$type": "com.atproto.lexicon.schema",
34
36
"lexicon": 1
35
37
}