space.opendeck.profile

opendeck.space

Schema Diff

+6 -0

From

CID
bafyreiamdzwko7m...
Indexed At
2026-09-30 09:09 UTC
View this version

To

CID
bafyreia4onvnvpi...
Indexed At
2026-10-08 13:09 UTC
View this version

Compatibility Analysis

Backward Compatible

Backward compatible. 2 non-breaking changes.

Non-Breaking Changes (2)
  • AddedVertex AddedVertex { vertex_id: "space.opendeck.profile:body.newCardsPerDay" }
  • AddedEdge AddedEdge { src: "space.opendeck.profile:body", tgt: "space.opendeck.profile:body.newCardsPerDay", kind: "prop", name: Some("newCardsPerDay") }

Migration Guidance

Added Elements

  • AddedVertex { vertex_id: "space.opendeck.profile:body.newCardsPerDay" }

Additional Notes

  • Non-breaking: AddedEdge { src: "space.opendeck.profile:body", tgt: "space.opendeck.profile:body.newCardsPerDay", kind: "prop", name: Some("newCardsPerDay") }
1 1
{
2 2
  "$type": "com.atproto.lexicon.schema",
3 3
  "defs": {
4 4
    "main": {
5 5
      "description": "OpenDeck profile and synced preferences.",
6 6
      "key": "literal:self",
7 7
      "record": {
8 8
        "properties": {
9 9
          "accentColor": {
10 10
            "description": "Hex accent color, e.g. #3b82f6.",
11 11
            "maxGraphemes": 9,
12 12
            "maxLength": 90,
13 13
            "type": "string"
14 14
          },
15 15
          "bio": {
16 16
            "maxGraphemes": 2000,
17 17
            "maxLength": 20000,
18 18
            "type": "string"
19 19
          },
20 20
          "breakReminders": {
21 21
            "description": "Suggest breaks after long study sessions or days; absent means on.",
22 22
            "type": "boolean"
23 23
          },
24 24
          "creditStyle": {
25 25
            "description": "How shown credit roles look: theme styles the whole profile, badges only lists them; absent means theme.",
26 26
            "enum": [
27 27
              "theme",
28 28
              "badges"
29 29
            ],
30 30
            "type": "string"
31 31
          },
32 32
          "defaultVisibility": {
33 33
            "enum": [
34 34
              "public",
35 35
              "private"
36 36
            ],
37 37
            "type": "string"
38 38
          },
39 +
          "newCardsPerDay": {
40 +
            "description": "How many new cards to introduce per deck each day; absent means no limit.",
41 +
            "maximum": 1000,
42 +
            "minimum": 1,
43 +
            "type": "integer"
44 +
          },
39 45
          "publicStats": {
40 46
            "description": "Summary of your study stats without deck or card details; only present while showStats is everyone.",
41 47
            "ref": "space.opendeck.profile#publicStats",
42 48
            "type": "ref"
43 49
          },
44 50
          "reminderDays": {
45 51
            "description": "Weekdays 0-6 (Sun-Sat); absent means Monday to Friday.",
46 52
            "items": {
47 53
              "maximum": 6,
48 54
              "minimum": 0,
49 55
              "type": "integer"
50 56
            },
51 57
            "maxLength": 7,
52 58
            "type": "array"
53 59
          },
54 60
          "reminderEnabled": {
55 61
            "type": "boolean"
56 62
          },
57 63
          "reminderHour": {
58 64
            "description": "Local hour (0-23) of the study reminder; absent means 19.",
59 65
            "maximum": 23,
60 66
            "minimum": 0,
61 67
            "type": "integer"
62 68
          },
63 69
          "shortTermIntervals": {
64 70
            "description": "Default short-term intervals preset; absent means auto.",
65 71
            "enum": [
66 72
              "auto",
67 73
              "quick",
68 74
              "balanced",
69 75
              "relaxed",
70 76
              "spaced"
71 77
            ],
72 78
            "type": "string"
73 79
          },
74 80
          "showActivityOnProfile": {
75 81
            "type": "boolean"
76 82
          },
77 83
          "showCredits": {
78 84
            "description": "Who sees your OpenDeck credit roles on your profile; absent means everyone.",
79 85
            "enum": [
80 86
              "nobody",
81 87
              "me",
82 88
              "everyone"
83 89
            ],
84 90
            "type": "string"
85 91
          },
86 92
          "showDecksOnProfile": {
87 93
            "type": "boolean"
88 94
          },
89 95
          "showFollowsOnProfile": {
90 96
            "type": "boolean"
91 97
          },
92 98
          "showMotivation": {
93 99
            "description": "Who sees tier progress boxes: nobody hides them, me shows them on the home, study and profile pages, everyone also shows the profile box to visitors (only while showTier is everyone); absent means me.",
94 100
            "enum": [
95 101
              "nobody",
96 102
              "me",
97 103
              "everyone"
98 104
            ],
99 105
            "type": "string"
100 106
          },
101 107
          "showProgressOnProfile": {
102 108
            "type": "boolean"
103 109
          },
104 110
          "showStats": {
105 111
            "description": "Who sees your study stats on your profile; absent means me.",
106 112
            "enum": [
107 113
              "nobody",
108 114
              "me",
109 115
              "everyone"
110 116
            ],
111 117
            "type": "string"
112 118
          },
113 119
          "showTier": {
114 120
            "description": "Who sees your study tier on your profile, and with everyone also in battles; absent means me.",
115 121
            "enum": [
116 122
              "nobody",
117 123
              "me",
118 124
              "everyone"
119 125
            ],
120 126
            "type": "string"
121 127
          },
122 128
          "studyDays": {
123 129
            "description": "Study sessions per day (capped at 3) for the 84 days up to studyDaysEnd, oldest first; only present while the motivation box is public.",
124 130
            "items": {
125 131
              "maximum": 3,
126 132
              "minimum": 0,
127 133
              "type": "integer"
128 134
            },
129 135
            "maxLength": 84,
130 136
            "type": "array"
131 137
          },
132 138
          "studyDaysEnd": {
133 139
            "description": "Local date (YYYY-MM-DD) of the last entry in studyDays.",
134 140
            "maxGraphemes": 10,
135 141
            "maxLength": 100,
136 142
            "type": "string"
137 143
          },
138 144
          "studyTier": {
139 145
            "description": "Study tier from the days studied in the last four weeks; only present while it is shown publicly.",
140 146
            "enum": [
141 147
              "bronze",
142 148
              "silver",
143 149
              "gold",
144 150
              "platinum",
145 151
              "diamond",
146 152
              "champion",
147 153
              "grandChampion",
148 154
              "supernova"
149 155
            ],
150 156
            "type": "string"
151 157
          },
152 158
          "studyTierAt": {
153 159
            "description": "When studyTier was last computed.",
154 160
            "format": "datetime",
155 161
            "type": "string"
156 162
          },
157 163
          "tierStyle": {
158 164
            "description": "How a shown tier looks: theme styles the whole profile, badge only adds a badge; absent means theme.",
159 165
            "enum": [
160 166
              "theme",
161 167
              "badge"
162 168
            ],
163 169
            "type": "string"
164 170
          },
165 171
          "uiLanguage": {
166 172
            "description": "BCP-47 language tag for the OpenDeck interface.",
167 173
            "maxGraphemes": 20,
168 174
            "maxLength": 200,
169 175
            "type": "string"
170 176
          },
171 177
          "updatedAt": {
172 178
            "format": "datetime",
173 179
            "type": "string"
174 180
          }
175 181
        },
176 182
        "type": "object"
177 183
      },
178 184
      "type": "record"
179 185
    },
180 186
    "publicStats": {
181 187
      "properties": {
182 188
        "activity": {
183 189
          "description": "Repetitions per day for the days up to activityEnd, oldest first.",
184 190
          "items": {
185 191
            "minimum": 0,
186 192
            "type": "integer"
187 193
          },
188 194
          "maxLength": 371,
189 195
          "type": "array"
190 196
        },
191 197
        "activityEnd": {
192 198
          "description": "Local date (YYYY-MM-DD) of the last entry in activity.",
193 199
          "maxGraphemes": 10,
194 200
          "maxLength": 100,
195 201
          "type": "string"
196 202
        },
197 203
        "firstStudiedOn": {
198 204
          "description": "Local date (YYYY-MM-DD) of the first study day.",
199 205
          "maxGraphemes": 10,
200 206
          "maxLength": 100,
201 207
          "type": "string"
202 208
        },
203 209
        "lastStudiedAt": {
204 210
          "format": "datetime",
205 211
          "type": "string"
206 212
        },
207 213
        "learned": {
208 214
          "description": "Cards in review.",
209 215
          "type": "integer"
210 216
        },
211 217
        "learning": {
212 218
          "description": "Cards in learning or relearning.",
213 219
          "type": "integer"
214 220
        },
215 221
        "repetitions": {
216 222
          "description": "All ratings ever given.",
217 223
          "type": "integer"
218 224
        },
219 225
        "retention": {
220 226
          "description": "Percent of ratings in the last 30 days that were not again.",
221 227
          "maximum": 100,
222 228
          "minimum": 0,
223 229
          "type": "integer"
224 230
        },
225 231
        "secondsStudied": {
226 232
          "description": "Active study time in the last 365 days.",
227 233
          "type": "integer"
228 234
        },
229 235
        "updatedAt": {
230 236
          "format": "datetime",
231 237
          "type": "string"
232 238
        }
233 239
      },
234 240
      "required": [
235 241
        "learned",
236 242
        "learning",
237 243
        "repetitions",
238 244
        "secondsStudied",
239 245
        "activity",
240 246
        "activityEnd",
241 247
        "updatedAt"
242 248
      ],
243 249
      "type": "object"
244 250
    }
245 251
  },
246 252
  "id": "space.opendeck.profile",
247 253
  "lexicon": 1
248 254
}

Compare Other Versions

Lexicon Garden

@