garden.lexicon.nourishing-earthworm.crepeList

tyler.fun

Schema Diff

+17 -5

From

CID
bafyreigcqvvdd7f...
Indexed At
2026-10-06 20:41 UTC
View this version

To

CID
bafyreigbie6jhrf...
Indexed At
2026-10-06 21:16 UTC
View this version

Compatibility Analysis

Breaking Changes Detected

2 breaking changes, 4 non-breaking changes.

Breaking Changes (2)
  • RemovedVertex RemovedVertex { vertex_id: "garden.lexicon.nourishing-earthworm.crepeList:body.showReviews" }
  • RemovedEdge RemovedEdge { src: "garden.lexicon.nourishing-earthworm.crepeList:body", tgt: "garden.lexicon.nourishing-earthworm.crepeList:body.showReviews", kind: "prop", name: Some("showReviews") }
Non-Breaking Changes (4)
  • AddedVertex AddedVertex { vertex_id: "garden.lexicon.nourishing-earthworm.crepeList:body.shareId" }
  • AddedVertex AddedVertex { vertex_id: "garden.lexicon.nourishing-earthworm.crepeList:body.visibility" }
  • AddedEdge AddedEdge { src: "garden.lexicon.nourishing-earthworm.crepeList:body", tgt: "garden.lexicon.nourishing-earthworm.crepeList:body.shareId", kind: "prop", name: Some("shareId") }
  • AddedEdge AddedEdge { src: "garden.lexicon.nourishing-earthworm.crepeList:body", tgt: "garden.lexicon.nourishing-earthworm.crepeList:body.visibility", kind: "prop", name: Some("visibility") }

Migration Guidance

Removed Elements

  • RemovedVertex { vertex_id: "garden.lexicon.nourishing-earthworm.crepeList:body.showReviews" }

Added Elements

  • AddedVertex { vertex_id: "garden.lexicon.nourishing-earthworm.crepeList:body.shareId" }
  • AddedVertex { vertex_id: "garden.lexicon.nourishing-earthworm.crepeList:body.visibility" }

Additional Notes

  • Breaking: RemovedEdge { src: "garden.lexicon.nourishing-earthworm.crepeList:body", tgt: "garden.lexicon.nourishing-earthworm.crepeList:body.showReviews", kind: "prop", name: Some("showReviews") }
  • Non-breaking: AddedEdge { src: "garden.lexicon.nourishing-earthworm.crepeList:body", tgt: "garden.lexicon.nourishing-earthworm.crepeList:body.shareId", kind: "prop", name: Some("shareId") }
  • Non-breaking: AddedEdge { src: "garden.lexicon.nourishing-earthworm.crepeList:body", tgt: "garden.lexicon.nourishing-earthworm.crepeList:body.visibility", kind: "prop", name: Some("visibility") }
1 1
{
2 2
  "$type": "com.atproto.lexicon.schema",
3 3
  "defs": {
4 4
    "main": {
5 5
      "description": "A list of titles in crepe's private library: the watchlist or a user list.",
6 6
      "key": "tid",
7 7
      "record": {
8 8
        "properties": {
9 9
          "autoAddMinRating": {
10 10
            "description": "titles rated at or above this (half stars times two) are added automatically",
11 11
            "maximum": 10,
12 12
            "minimum": 1,
13 13
            "type": "integer"
14 14
          },
15 15
          "createdAt": {
16 16
            "format": "datetime",
17 17
            "type": "string"
18 18
          },
19 19
          "description": {
20 20
            "maxLength": 10000,
21 21
            "type": "string"
22 22
          },
23 23
          "listType": {
24 24
            "knownValues": [
25 25
              "watchlist",
26 26
              "list"
27 27
            ],
28 28
            "type": "string"
29 29
          },
30 30
          "locked": {
31 31
            "default": false,
32 32
            "description": "hide the list from add-to-list pickers",
33 33
            "type": "boolean"
34 34
          },
35 35
          "mediaType": {
36 36
            "description": "deprecated, read but no longer written; use mediaTypes. restrict the list to films or to shows; absent means both",
37 37
            "knownValues": [
38 38
              "movie",
39 39
              "tv"
40 40
            ],
41 41
            "type": "string"
42 42
          },
43 43
          "mediaTypes": {
44 44
            "description": "the kinds of title the list takes; absent means films and shows",
45 45
            "items": {
46 46
              "knownValues": [
47 47
                "movie",
48 48
                "tv",
49 49
                "special"
50 50
              ],
51 51
              "type": "string"
52 52
            },
53 53
            "maxLength": 8,
54 54
            "type": "array"
55 55
          },
56 56
          "mirror": {
57 57
            "description": "This list follows a public Letterboxd or IMDb list, one way. The source is authoritative.",
58 58
            "ref": "#mirror",
59 59
            "type": "ref"
60 60
          },
61 61
          "name": {
62 62
            "maxGraphemes": 100,
63 63
            "maxLength": 1000,
64 64
            "type": "string"
65 65
          },
66 66
          "ordered": {
67 67
            "type": "boolean"
68 68
          },
69 69
          "plexCollection": {
70 70
            "description": "Mirror this list, one way, into a collection on a Plex Media Server. The server owner grants which collections a user may bind.",
71 71
            "ref": "#plexCollection",
72 72
            "type": "ref"
73 73
          },
74 +
          "shareId": {
75 +
            "description": "random url-safe id in the share link of an unlisted or public list; minted when the list first leaves private, dropped when it returns to private or friends",
76 +
            "maxLength": 32,
77 +
            "minLength": 16,
78 +
            "type": "string"
79 +
          },
74 80
          "showProgress": {
75 81
            "default": false,
76 82
            "description": "show a watched-count progress bar on the list page",
77 -
            "type": "boolean"
78 -
          },
79 -
          "showReviews": {
80 -
            "default": false,
81 -
            "description": "show the list author's rating and review on each row of the list page",
82 83
            "type": "boolean"
83 84
          },
84 85
          "stamps": {
85 86
            "description": "Field group to hybrid logical clock stamp.",
86 87
            "type": "unknown"
87 88
          },
88 89
          "tags": {
89 90
            "items": {
90 91
              "maxLength": 640,
91 92
              "type": "string"
92 93
            },
93 94
            "maxLength": 50,
94 95
            "type": "array"
95 96
          },
96 97
          "updatedAt": {
97 98
            "format": "datetime",
98 99
            "type": "string"
100 +
          },
101 +
          "visibility": {
102 +
            "default": "private",
103 +
            "description": "who can see the list: private (only the owner), friends (friends and groups, once that exists), unlisted (a public page, not indexed, reachable by its share link) or public (a public page, indexed, with the records copied into the public repo). absent means private",
104 +
            "knownValues": [
105 +
              "private",
106 +
              "friends",
107 +
              "unlisted",
108 +
              "public"
109 +
            ],
110 +
            "type": "string"
99 111
          }
100 112
        },
101 113
        "required": [
102 114
          "name",
103 115
          "listType",
104 116
          "createdAt",
105 117
          "updatedAt"
106 118
        ],
107 119
        "type": "object"
108 120
      },
109 121
      "type": "record"
110 122
    },
111 123
    "mirror": {
112 124
      "properties": {
113 125
        "fetchedAt": {
114 126
          "description": "When the source was last read.",
115 127
          "format": "datetime",
116 128
          "type": "string"
117 129
        },
118 130
        "source": {
119 131
          "knownValues": [
120 132
            "letterboxd",
121 133
            "imdb"
122 134
          ],
123 135
          "type": "string"
124 136
        },
125 137
        "url": {
126 138
          "description": "Public list URL as the user gave it.",
127 139
          "maxLength": 2000,
128 140
          "type": "string"
129 141
        }
130 142
      },
131 143
      "required": [
132 144
        "url",
133 145
        "source",
134 146
        "fetchedAt"
135 147
      ],
136 148
      "type": "object"
137 149
    },
138 150
    "plexCollection": {
139 151
      "properties": {
140 152
        "name": {
141 153
          "description": "Collection title on the server, matched case-insensitively.",
142 154
          "maxLength": 200,
143 155
          "type": "string"
144 156
        },
145 157
        "server": {
146 158
          "description": "Plex machineIdentifier of the server. Absent means crepe's default server.",
147 159
          "maxLength": 128,
148 160
          "type": "string"
149 161
        }
150 162
      },
151 163
      "required": [
152 164
        "name"
153 165
      ],
154 166
      "type": "object"
155 167
    }
156 168
  },
157 169
  "id": "garden.lexicon.nourishing-earthworm.crepeList",
158 170
  "lexicon": 1
159 171
}

Compare Other Versions

Lexicon Garden

@