app.atmobb.forum.getStamps

lexicons.atmobb.app

Schema Diff

+23 -2

From

CID
bafyreih7dmk4cqh...
Indexed At
2026-09-13 23:12 UTC
View this version

To

CID
bafyreidasfvfjnk...
Indexed At
2026-10-07 04:30 UTC
View this version

Compatibility Analysis

Backward Compatible

Backward compatible. 12 non-breaking changes.

Non-Breaking Changes (12)
  • AddedVertex AddedVertex { vertex_id: "app.atmobb.forum.getStamps#generatedStamp.trigger" }
  • AddedVertex AddedVertex { vertex_id: "app.atmobb.forum.getStamps#trayEntry.trigger" }
  • AddedVertex AddedVertex { vertex_id: "app.atmobb.forum.getStamps#trayEntry.triggerBoardName" }
  • AddedVertex AddedVertex { vertex_id: "app.atmobb.forum.getStamps:output.pinned" }
  • AddedVertex AddedVertex { vertex_id: "app.atmobb.forum.getStamps:output.pinned:items" }
  • AddedEdge AddedEdge { src: "app.atmobb.forum.getStamps#generatedStamp", tgt: "app.atmobb.forum.getStamps#generatedStamp.trigger", kind: "prop", name: Some("trigger") }
  • AddedEdge AddedEdge { src: "app.atmobb.forum.getStamps#generatedStamp.trigger", tgt: "app.atmobb.forum.stamp#trigger", kind: "ref", name: None }
  • AddedEdge AddedEdge { src: "app.atmobb.forum.getStamps#trayEntry", tgt: "app.atmobb.forum.getStamps#trayEntry.trigger", kind: "prop", name: Some("trigger") }
  • AddedEdge AddedEdge { src: "app.atmobb.forum.getStamps#trayEntry", tgt: "app.atmobb.forum.getStamps#trayEntry.triggerBoardName", kind: "prop", name: Some("triggerBoardName") }
  • AddedEdge AddedEdge { src: "app.atmobb.forum.getStamps#trayEntry.trigger", tgt: "app.atmobb.forum.stamp#trigger", kind: "ref", name: None }
  • AddedEdge AddedEdge { src: "app.atmobb.forum.getStamps:output", tgt: "app.atmobb.forum.getStamps:output.pinned", kind: "prop", name: Some("pinned") }
  • AddedEdge AddedEdge { src: "app.atmobb.forum.getStamps:output.pinned", tgt: "app.atmobb.forum.getStamps:output.pinned:items", kind: "items", name: None }

Migration Guidance

Added Elements

  • AddedVertex { vertex_id: "app.atmobb.forum.getStamps#generatedStamp.trigger" }
  • AddedVertex { vertex_id: "app.atmobb.forum.getStamps#trayEntry.trigger" }
  • AddedVertex { vertex_id: "app.atmobb.forum.getStamps#trayEntry.triggerBoardName" }
  • AddedVertex { vertex_id: "app.atmobb.forum.getStamps:output.pinned" }
  • AddedVertex { vertex_id: "app.atmobb.forum.getStamps:output.pinned:items" }

Additional Notes

  • Non-breaking: AddedEdge { src: "app.atmobb.forum.getStamps#generatedStamp", tgt: "app.atmobb.forum.getStamps#generatedStamp.trigger", kind: "prop", name: Some("trigger") }
  • Non-breaking: AddedEdge { src: "app.atmobb.forum.getStamps#generatedStamp.trigger", tgt: "app.atmobb.forum.stamp#trigger", kind: "ref", name: None }
  • Non-breaking: AddedEdge { src: "app.atmobb.forum.getStamps#trayEntry", tgt: "app.atmobb.forum.getStamps#trayEntry.trigger", kind: "prop", name: Some("trigger") }
  • Non-breaking: AddedEdge { src: "app.atmobb.forum.getStamps#trayEntry", tgt: "app.atmobb.forum.getStamps#trayEntry.triggerBoardName", kind: "prop", name: Some("triggerBoardName") }
  • Non-breaking: AddedEdge { src: "app.atmobb.forum.getStamps#trayEntry.trigger", tgt: "app.atmobb.forum.stamp#trigger", kind: "ref", name: None }
  • Non-breaking: AddedEdge { src: "app.atmobb.forum.getStamps:output", tgt: "app.atmobb.forum.getStamps:output.pinned", kind: "prop", name: Some("pinned") }
  • Non-breaking: AddedEdge { src: "app.atmobb.forum.getStamps:output.pinned", tgt: "app.atmobb.forum.getStamps:output.pinned:items", kind: "items", name: None }
1 1
{
2 2
  "$type": "com.atproto.lexicon.schema",
3 3
  "defs": {
4 4
    "generatedStamp": {
5 5
      "description": "A stamp the network generates rather than an admin defining. Its id is fixed: atmobb:board:<board at-uri>, atmobb:arrival, atmobb:first-light, or atmobb:early-days.",
6 6
      "properties": {
7 7
        "board": {
8 8
          "description": "For a board stamp: the board it marks.",
9 9
          "format": "at-uri",
10 10
          "type": "string"
11 11
        },
12 12
        "id": {
13 13
          "maxLength": 300,
14 14
          "type": "string"
15 15
        },
16 16
        "look": {
17 17
          "ref": "app.atmobb.forum.stamp#look",
18 18
          "type": "ref"
19 19
        },
20 20
        "name": {
21 21
          "maxGraphemes": 24,
22 22
          "maxLength": 240,
23 23
          "type": "string"
24 24
        },
25 25
        "sponsor": {
26 26
          "description": "For an arrival stamp: who brought the member in.",
27 27
          "format": "did",
28 28
          "type": "string"
29 29
        },
30 +
        "trigger": {
31 +
          "ref": "app.atmobb.forum.stamp#trigger",
32 +
          "type": "ref"
33 +
        },
30 34
        "via": {
31 35
          "description": "For an arrival stamp: how the member was accepted.",
32 36
          "knownValues": [
33 37
            "invite",
34 38
            "application",
35 39
            "founding"
36 40
          ],
37 41
          "maxLength": 32,
38 42
          "type": "string"
39 43
        }
40 44
      },
41 45
      "required": [
42 46
        "id",
43 47
        "name",
44 48
        "look"
45 49
      ],
46 50
      "type": "object"
47 51
    },
48 52
    "main": {
49 -
      "description": "A forum's stamps: the admin-defined stamp records plus the generated network set. With actor, also that member's tray (every stamp they hold on this forum) and the ids they currently wear, in order.",
53 +
      "description": "A forum's stamps: the admin-defined stamp records plus the generated network set. With actor, also that member's tray (every stamp they hold on this forum), the ids they currently wear, in order, and the topics they pinned to their profile page.",
50 54
      "output": {
51 55
        "encoding": "application/json",
52 56
        "schema": {
53 57
          "properties": {
54 58
            "network": {
55 59
              "description": "The fixed network stamps every forum on this appview offers (first light, early days). Board and arrival defaults are per member and appear in the tray.",
56 60
              "items": {
57 61
                "ref": "#generatedStamp",
58 62
                "type": "ref"
59 63
              },
60 64
              "type": "array"
61 65
            },
66 +
            "pinned": {
67 +
              "description": "At-uris the actor pinned to their profile page on this forum, from their newest membership record, in order. Unverified: the app checks each is the actor's own readable topic. Present only when actor is given.",
68 +
              "items": {
69 +
                "format": "at-uri",
70 +
                "type": "string"
71 +
              },
72 +
              "maxLength": 4,
73 +
              "type": "array"
74 +
            },
62 75
            "stamps": {
63 76
              "description": "Stamps the forum defined, as app.atmobb.forum.stamp records.",
64 77
              "items": {
65 78
                "ref": "#stampView",
66 79
                "type": "ref"
67 80
              },
68 81
              "type": "array"
69 82
            },
70 83
            "tray": {
71 84
              "description": "Every stamp the actor holds on this forum. Present only when actor is given.",
72 85
              "items": {
73 86
                "ref": "#trayEntry",
74 87
                "type": "ref"
75 88
              },
76 89
              "type": "array"
77 90
            },
78 91
            "worn": {
79 92
              "description": "Ids from the tray the actor wears, in order. Present only when actor is given.",
80 93
              "items": {
81 94
                "maxLength": 300,
82 95
                "type": "string"
83 96
              },
84 -
              "maxLength": 3,
97 +
              "maxLength": 6,
85 98
              "type": "array"
86 99
            }
87 100
          },
88 101
          "required": [
89 102
            "stamps",
90 103
            "network"
91 104
          ],
92 105
          "type": "object"
93 106
        }
94 107
      },
95 108
      "parameters": {
96 109
        "properties": {
97 110
          "actor": {
98 111
            "description": "A member whose tray and worn list to include.",
99 112
            "format": "did",
100 113
            "type": "string"
101 114
          },
102 115
          "forum": {
103 116
            "format": "did",
104 117
            "type": "string"
105 118
          }
106 119
        },
107 120
        "required": [
108 121
          "forum"
109 122
        ],
110 123
        "type": "params"
111 124
      },
112 125
      "type": "query"
113 126
    },
114 127
    "stampView": {
115 128
      "description": "An admin-defined stamp. uri and cid let a by-hand award build its strongRef.",
116 129
      "properties": {
117 130
        "cid": {
118 131
          "format": "cid",
119 132
          "type": "string"
120 133
        },
121 134
        "createdAt": {
122 135
          "format": "datetime",
123 136
          "type": "string"
124 137
        },
125 138
        "look": {
126 139
          "ref": "app.atmobb.forum.stamp#look",
127 140
          "type": "ref"
128 141
        },
129 142
        "name": {
130 143
          "maxGraphemes": 24,
131 144
          "maxLength": 240,
132 145
          "type": "string"
133 146
        },
134 147
        "trigger": {
135 148
          "ref": "app.atmobb.forum.stamp#trigger",
136 149
          "type": "ref"
137 150
        },
138 151
        "uri": {
139 152
          "format": "at-uri",
140 153
          "type": "string"
141 154
        }
142 155
      },
143 156
      "required": [
144 157
        "uri",
145 158
        "cid",
146 159
        "name",
147 160
        "look",
148 161
        "trigger",
149 162
        "createdAt"
150 163
      ],
151 164
      "type": "object"
152 165
    },
153 166
    "trayEntry": {
154 167
      "description": "One stamp a member holds. id is the stamp record's at-uri for an admin stamp or the fixed id of a generated one. uri, cid, and look are present for admin stamps and look for network stamps; a board default carries the board and its color so the app can draw it, and an arrival default carries via and sponsor.",
155 168
      "properties": {
156 169
        "board": {
157 170
          "description": "For a board stamp: the board it marks.",
158 171
          "format": "at-uri",
159 172
          "type": "string"
160 173
        },
161 174
        "boardColor": {
162 175
          "description": "For a board stamp: the board's six-digit hex color, when it has one.",
163 176
          "maxLength": 7,
164 177
          "type": "string"
165 178
        },
166 179
        "cid": {
167 180
          "format": "cid",
168 181
          "type": "string"
169 182
        },
170 183
        "id": {
171 184
          "maxLength": 300,
172 185
          "type": "string"
173 186
        },
174 187
        "look": {
175 188
          "ref": "app.atmobb.forum.stamp#look",
176 189
          "type": "ref"
177 190
        },
178 191
        "name": {
179 192
          "maxGraphemes": 24,
180 193
          "maxLength": 240,
181 194
          "type": "string"
182 195
        },
183 196
        "source": {
184 197
          "description": "How the member came to hold it: an admin-defined trigger, a default every member gets, the network set, or a by-hand award.",
185 198
          "knownValues": [
186 199
            "admin",
187 200
            "default",
188 201
            "network",
189 202
            "byHand"
190 203
          ],
191 204
          "maxLength": 32,
192 205
          "type": "string"
193 206
        },
194 207
        "sponsor": {
195 208
          "description": "For an arrival stamp: who brought the member in.",
196 209
          "format": "did",
197 210
          "type": "string"
198 211
        },
212 +
        "trigger": {
213 +
          "ref": "app.atmobb.forum.stamp#trigger",
214 +
          "type": "ref"
215 +
        },
216 +
        "triggerBoardName": {
217 +
          "description": "The board name for an earned firstPostInBoard trigger.",
218 +
          "type": "string"
219 +
        },
199 220
        "uri": {
200 221
          "format": "at-uri",
201 222
          "type": "string"
202 223
        },
203 224
        "via": {
204 225
          "description": "For an arrival stamp: how the member was accepted.",
205 226
          "knownValues": [
206 227
            "invite",
207 228
            "application",
208 229
            "founding"
209 230
          ],
210 231
          "maxLength": 32,
211 232
          "type": "string"
212 233
        }
213 234
      },
214 235
      "required": [
215 236
        "id",
216 237
        "name",
217 238
        "source"
218 239
      ],
219 240
      "type": "object"
220 241
    }
221 242
  },
222 243
  "id": "app.atmobb.forum.getStamps",
223 244
  "lexicon": 1
224 245
}

Compare Other Versions

Lexicon Garden

@