garden.lexicon.nourishing-earthworm.crepeWatch
Schema Diff
+2 -2
Compatibility Analysis
Breaking Changes Detected
1 breaking change, 0 non-breaking changes.
Breaking Changes (1)
- RequiredEdgeRemoved RequiredEdgeRemoved { vertex_id: "garden.lexicon.nourishing-earthworm.crepeWatch:body", src: "garden.lexicon.nourishing-earthworm.crepeWatch:body", tgt: "garden.lexicon.nourishing-earthworm.crepeWatch:body.watchedAt", kind: "prop", name: Some("watchedAt") }
Migration Guidance
Additional Notes
- Breaking: RequiredEdgeRemoved { vertex_id: "garden.lexicon.nourishing-earthworm.crepeWatch:body", src: "garden.lexicon.nourishing-earthworm.crepeWatch:body", tgt: "garden.lexicon.nourishing-earthworm.crepeWatch:body.watchedAt", kind: "prop", name: Some("watchedAt") }
1
1
{
2
2
"$type": "com.atproto.lexicon.schema",
3
3
"defs": {
4
4
"main": {
5
5
"description": "One viewing of a movie, or of a TV show, season or episode, in crepe's private diary. A watch with no rating and no review text is a plain play (for example an episode Plex reported) and stays out of the diary log.",
6
6
"key": "tid",
7
7
"record": {
8
8
"properties": {
9
9
"containsSpoilers": {
10
10
"type": "boolean"
11
11
},
12
12
"createdAt": {
13
13
"description": "When this record was created (not the watch time).",
14
14
"format": "datetime",
15
15
"type": "string"
16
16
},
17
17
"episodeNumber": {
18
18
"description": "Required for episode watches.",
19
19
"minimum": 0,
20
20
"type": "integer"
21
21
},
22
22
"episodeTitle": {
23
23
"maxLength": 1000,
24
24
"type": "string"
25
25
},
26
26
"episodeTmdbId": {
27
27
"description": "The episode's own TMDB id, when known.",
28
28
"maxLength": 32,
29
29
"type": "string"
30
30
},
31
31
"genres": {
32
32
"items": {
33
33
"maxLength": 100,
34
34
"type": "string"
35
35
},
36
36
"maxLength": 20,
37
37
"type": "array"
38
38
},
39
39
"imdbId": {
40
40
"maxLength": 32,
41
41
"type": "string"
42
42
},
43
43
"kind": {
44
44
"description": "What was watched.",
45
45
"knownValues": [
46
46
"movie",
47
47
"show",
48
48
"season",
49
49
"episode"
50
50
],
51
51
"type": "string"
52
52
},
53
53
"mainCredit": {
54
54
"maxLength": 300,
55
55
"type": "string"
56
56
},
57
57
"mainCreditRole": {
58
58
"knownValues": [
59
59
"director",
60
60
"creator"
61
61
],
62
62
"type": "string"
63
63
},
64
64
"rating": {
65
65
"description": "Half stars out of five, times two. Absent means unrated.",
66
66
"maximum": 10,
67
67
"minimum": 1,
68
68
"type": "integer"
69
69
},
70
70
"releaseDate": {
71
71
"description": "Snapshot, YYYY-MM-DD.",
72
72
"maxLength": 32,
73
73
"type": "string"
74
74
},
75
75
"rewatch": {
76
+
"description": "deprecated 2026-09-29: derived by readers, no longer written",
76
77
"type": "boolean"
77
78
},
78
79
"seasonNumber": {
79
80
"description": "Required for season and episode watches.",
80
81
"minimum": 0,
81
82
"type": "integer"
82
83
},
83
84
"source": {
84
85
"description": "Where this watch was first recorded.",
85
86
"knownValues": [
86
87
"crepe",
87
88
"plex",
88
89
"popfeed",
89
90
"letterboxd"
90
91
],
91
92
"type": "string"
92
93
},
93
94
"stamps": {
94
95
"description": "Map of field group name to hybrid logical clock stamp, for field-level last-write-wins merge between devices and the sync server.",
95
96
"type": "unknown"
96
97
},
97
98
"tags": {
98
99
"items": {
99
100
"maxGraphemes": 64,
100
101
"maxLength": 640,
101
102
"type": "string"
102
103
},
103
104
"maxLength": 50,
104
105
"type": "array"
105
106
},
106
107
"text": {
107
108
"description": "Review text, plain.",
108
109
"maxGraphemes": 10000,
109
110
"maxLength": 100000,
110
111
"type": "string"
111
112
},
112
113
"title": {
113
114
"description": "Snapshot of the movie or show title, for offline display.",
114
115
"maxLength": 1000,
115
116
"type": "string"
116
117
},
117
118
"tmdbId": {
118
119
"description": "TMDB id of the movie, or of the show for show, season and episode watches. Never an episode's own id.",
119
120
"maxLength": 32,
120
121
"type": "string"
121
122
},
122
123
"updatedAt": {
123
124
"format": "datetime",
124
125
"type": "string"
125
126
},
126
127
"watchedAt": {
127
-
"description": "When it was watched.",
128
+
"description": "When it was watched. Absent for a watch logged without a date.",
128
129
"format": "datetime",
129
130
"type": "string"
130
131
}
131
132
},
132
133
"required": [
133
134
"kind",
134
135
"tmdbId",
135
-
"watchedAt",
136
136
"createdAt",
137
137
"updatedAt"
138
138
],
139
139
"type": "object"
140
140
},
141
141
"type": "record"
142
142
}
143
143
},
144
144
"id": "garden.lexicon.nourishing-earthworm.crepeWatch",
145
145
"lexicon": 1
146
146
}