space.opendeck.profile

opendeck.space

Schema Diff

+18 -15

From

CID
bafyreibcwnsiavx...
Indexed At
2026-09-23 19:36 UTC
View this version

To

CID
bafyreiamv4vxrkt...
Indexed At
2026-09-23 21:36 UTC
View this version

Compatibility Analysis

Breaking Changes Detected

8 breaking changes, 4 non-breaking changes.

Breaking Changes (8)
  • RemovedVertex RemovedVertex { vertex_id: "space.opendeck.profile:body.reminderTime" }
  • RemovedVertex RemovedVertex { vertex_id: "space.opendeck.profile:body.visibleDecks" }
  • RemovedVertex RemovedVertex { vertex_id: "space.opendeck.profile:body.visibleDecks:items" }
  • RemovedEdge RemovedEdge { src: "space.opendeck.profile:body", tgt: "space.opendeck.profile:body.reminderTime", kind: "prop", name: Some("reminderTime") }
  • RemovedEdge RemovedEdge { src: "space.opendeck.profile:body", tgt: "space.opendeck.profile:body.visibleDecks", kind: "prop", name: Some("visibleDecks") }
  • RemovedEdge RemovedEdge { src: "space.opendeck.profile:body.visibleDecks", tgt: "space.opendeck.profile:body.visibleDecks:items", kind: "items", name: None }
  • ConstraintAdded ConstraintAdded { vertex_id: "space.opendeck.profile:body.reminderDays:items", sort: "minimum", value: "0" }
  • ConstraintAdded ConstraintAdded { vertex_id: "space.opendeck.profile:body.reminderDays:items", sort: "maximum", value: "6" }
Non-Breaking Changes (4)
  • AddedVertex AddedVertex { vertex_id: "space.opendeck.profile:body.reminderHour" }
  • AddedVertex AddedVertex { vertex_id: "space.opendeck.profile:body.shortTermIntervals" }
  • AddedEdge AddedEdge { src: "space.opendeck.profile:body", tgt: "space.opendeck.profile:body.reminderHour", kind: "prop", name: Some("reminderHour") }
  • AddedEdge AddedEdge { src: "space.opendeck.profile:body", tgt: "space.opendeck.profile:body.shortTermIntervals", kind: "prop", name: Some("shortTermIntervals") }

Migration Guidance

Removed Elements

  • RemovedVertex { vertex_id: "space.opendeck.profile:body.reminderTime" }
  • RemovedVertex { vertex_id: "space.opendeck.profile:body.visibleDecks" }
  • RemovedVertex { vertex_id: "space.opendeck.profile:body.visibleDecks:items" }

Added Elements

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

Constraint Changes

  • ConstraintAdded ConstraintAdded { vertex_id: "space.opendeck.profile:body.reminderDays:items", sort: "minimum", value: "0" }
  • ConstraintAdded ConstraintAdded { vertex_id: "space.opendeck.profile:body.reminderDays:items", sort: "maximum", value: "6" }

Additional Notes

  • Breaking: RemovedEdge { src: "space.opendeck.profile:body", tgt: "space.opendeck.profile:body.reminderTime", kind: "prop", name: Some("reminderTime") }
  • Breaking: RemovedEdge { src: "space.opendeck.profile:body", tgt: "space.opendeck.profile:body.visibleDecks", kind: "prop", name: Some("visibleDecks") }
  • Breaking: RemovedEdge { src: "space.opendeck.profile:body.visibleDecks", tgt: "space.opendeck.profile:body.visibleDecks:items", kind: "items", name: None }
  • Non-breaking: AddedEdge { src: "space.opendeck.profile:body", tgt: "space.opendeck.profile:body.reminderHour", kind: "prop", name: Some("reminderHour") }
  • Non-breaking: AddedEdge { src: "space.opendeck.profile:body", tgt: "space.opendeck.profile:body.shortTermIntervals", kind: "prop", name: Some("shortTermIntervals") }
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
          "defaultVisibility": {
21 21
            "enum": [
22 22
              "public",
23 23
              "private"
24 24
            ],
25 25
            "type": "string"
26 26
          },
27 27
          "reminderDays": {
28 -
            "description": "Weekdays 0-6 (Sun-Sat).",
28 +
            "description": "Weekdays 0-6 (Sun-Sat); absent means Monday to Friday.",
29 29
            "items": {
30 +
              "maximum": 6,
31 +
              "minimum": 0,
30 32
              "type": "integer"
31 33
            },
32 34
            "maxLength": 7,
33 35
            "type": "array"
34 36
          },
35 37
          "reminderEnabled": {
36 38
            "type": "boolean"
37 39
          },
38 -
          "reminderTime": {
39 -
            "description": "Local reminder time, HH:MM.",
40 -
            "maxGraphemes": 5,
41 -
            "maxLength": 50,
40 +
          "reminderHour": {
41 +
            "description": "Local hour (0-23) of the study reminder; absent means 19.",
42 +
            "maximum": 23,
43 +
            "minimum": 0,
44 +
            "type": "integer"
45 +
          },
46 +
          "shortTermIntervals": {
47 +
            "description": "Default short-term intervals preset; absent means auto.",
48 +
            "enum": [
49 +
              "auto",
50 +
              "quick",
51 +
              "balanced",
52 +
              "relaxed",
53 +
              "spaced"
54 +
            ],
42 55
            "type": "string"
43 56
          },
44 57
          "showActivityOnProfile": {
45 58
            "type": "boolean"
46 59
          },
47 60
          "showDecksOnProfile": {
48 61
            "type": "boolean"
49 62
          },
50 63
          "showFollowsOnProfile": {
51 64
            "type": "boolean"
52 65
          },
53 66
          "showProgressOnProfile": {
54 67
            "type": "boolean"
55 68
          },
56 69
          "uiLanguage": {
57 70
            "description": "BCP-47 language tag for the OpenDeck interface.",
58 71
            "maxGraphemes": 20,
59 72
            "maxLength": 200,
60 73
            "type": "string"
61 74
          },
62 75
          "updatedAt": {
63 76
            "format": "datetime",
64 77
            "type": "string"
65 -
          },
66 -
          "visibleDecks": {
67 -
            "items": {
68 -
              "format": "at-uri",
69 -
              "maxGraphemes": 1000,
70 -
              "maxLength": 10000,
71 -
              "type": "string"
72 -
            },
73 -
            "maxLength": 100,
74 -
            "type": "array"
75 78
          }
76 79
        },
77 80
        "type": "object"
78 81
      },
79 82
      "type": "record"
80 83
    }
81 84
  },
82 85
  "id": "space.opendeck.profile",
83 86
  "lexicon": 1
84 87
}

Compare Other Versions

Lexicon Garden

@