wiki.lichen.noteRevision
Schema Diff
+19 -4
Compatibility Analysis
Backward Compatible
Backward compatible. 4 non-breaking changes.
Non-Breaking Changes (4)
- AddedVertex AddedVertex { vertex_id: "wiki.lichen.noteRevision:body.status" }
- AddedVertex AddedVertex { vertex_id: "wiki.lichen.noteRevision:body.title" }
- AddedEdge AddedEdge { src: "wiki.lichen.noteRevision:body", tgt: "wiki.lichen.noteRevision:body.status", kind: "prop", name: Some("status") }
- AddedEdge AddedEdge { src: "wiki.lichen.noteRevision:body", tgt: "wiki.lichen.noteRevision:body.title", kind: "prop", name: Some("title") }
Migration Guidance
Added Elements
AddedVertex { vertex_id: "wiki.lichen.noteRevision:body.status" }AddedVertex { vertex_id: "wiki.lichen.noteRevision:body.title" }
Additional Notes
- Non-breaking: AddedEdge { src: "wiki.lichen.noteRevision:body", tgt: "wiki.lichen.noteRevision:body.status", kind: "prop", name: Some("status") }
- Non-breaking: AddedEdge { src: "wiki.lichen.noteRevision:body", tgt: "wiki.lichen.noteRevision:body.title", kind: "prop", name: Some("title") }
1
1
{
2
2
"$type": "com.atproto.lexicon.schema",
3
3
"defs": {
4
4
"main": {
5
-
"description": "A revision to a note, stored as a diff from the previous revision.",
5
+
"description": "A revision to a note. It holds either a diff from the previous revision or the complete new body, depending on diffFormat.",
6
6
"key": "tid",
7
7
"record": {
8
8
"properties": {
9
9
"blobs": {
10
-
"description": "Blobs referenced by this revision's content.",
10
+
"description": "Blobs the content references. Each is identified by the uploading repo's DID and the blob CID. Content points at one with , the path lichen serves it from. Listing the ref here keeps the blob alive in the PDS.",
11
11
"items": {
12
12
"accept": [
13
13
"image/jpeg",
14
14
"image/png",
15
15
"image/gif",
16
16
"image/webp"
17
17
],
18
18
"maxSize": 2097152,
19
19
"type": "blob"
20
20
},
21
21
"type": "array"
22
22
},
23
23
"createdAt": {
24
24
"description": "When this revision was created.",
25
25
"format": "datetime",
26
26
"type": "string"
27
27
},
28
28
"diff": {
29
-
"description": "The revision payload, interpreted per diffFormat: a diff-match-patch patch against parentRevision, or with \"full-text\" the note's complete new body. \"full-text\" is only accepted when parentRevision is the note's current head.",
29
+
"description": "The revision payload. With \"diff-match-patch\" it is a patch against parentRevision. With \"full-text\" it is the note's whole new body, and it is only accepted when parentRevision is the current head.",
30
30
"maxLength": 1000000,
31
31
"type": "string"
32
32
},
33
33
"diffFormat": {
34
-
"description": "How to interpret diff. \"diff-match-patch\" is a patch against parentRevision; \"full-text\" is the whole note body.",
34
+
"description": "How to read the diff field. \"diff-match-patch\" means a patch against parentRevision. \"full-text\" means the whole note body.",
35
35
"knownValues": [
36
36
"diff-match-patch",
37
37
"full-text"
38
38
],
39
39
"maxLength": 32,
40
40
"type": "string"
41
41
},
42
42
"message": {
43
43
"description": "Optional commit message describing this revision.",
44
44
"maxGraphemes": 1024,
45
45
"maxLength": 10240,
46
46
"type": "string"
47
47
},
48
48
"noteRef": {
49
49
"description": "AT-URI of the parent note record.",
50
50
"format": "at-uri",
51
51
"type": "string"
52
52
},
53
53
"parentRevision": {
54
54
"description": "AT-URI of the previous revision. Omitted for the first revision of a note.",
55
55
"format": "at-uri",
56
56
"type": "string"
57
+
},
58
+
"status": {
59
+
"description": "Set to \"deleted\" to take the note out of its wiki, keeping its history, and to \"live\" to restore it. A revision without it keeps the status.",
60
+
"knownValues": [
61
+
"live",
62
+
"deleted"
63
+
],
64
+
"maxLength": 32,
65
+
"type": "string"
66
+
},
67
+
"title": {
68
+
"description": "Renames the note from this revision on. A revision that leaves it out keeps the title.",
69
+
"maxGraphemes": 256,
70
+
"maxLength": 2560,
71
+
"type": "string"
57
72
}
58
73
},
59
74
"required": [
60
75
"noteRef",
61
76
"diff",
62
77
"diffFormat",
63
78
"createdAt"
64
79
],
65
80
"type": "object"
66
81
},
67
82
"type": "record"
68
83
}
69
84
},
70
85
"id": "wiki.lichen.noteRevision",
71
86
"lexicon": 1
72
87
}