app.atmobb.forum.membership

lexicons.atmobb.app

Schema Diff

+58 -1

From

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

To

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

Compatibility Analysis

Breaking Changes Detected

1 breaking change, 23 non-breaking changes.

Breaking Changes (1)
  • RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "app.atmobb.forum.membership#closedPeriod", src: "app.atmobb.forum.membership#closedPeriod", tgt: "app.atmobb.forum.membership#closedPeriod.from", kind: "prop", name: Some("from") }
Non-Breaking Changes (23)
  • AddedVertex AddedVertex { vertex_id: "app.atmobb.forum.membership#closedPeriod" }
  • AddedVertex AddedVertex { vertex_id: "app.atmobb.forum.membership#closedPeriod.from" }
  • AddedVertex AddedVertex { vertex_id: "app.atmobb.forum.membership#closedPeriod.to" }
  • AddedVertex AddedVertex { vertex_id: "app.atmobb.forum.membership:body.guestbook" }
  • AddedVertex AddedVertex { vertex_id: "app.atmobb.forum.membership:body.guestbookBlocked" }
  • AddedVertex AddedVertex { vertex_id: "app.atmobb.forum.membership:body.guestbookBlocked:items" }
  • AddedVertex AddedVertex { vertex_id: "app.atmobb.forum.membership:body.guestbookClosed" }
  • AddedVertex AddedVertex { vertex_id: "app.atmobb.forum.membership:body.guestbookClosed:items" }
  • AddedVertex AddedVertex { vertex_id: "app.atmobb.forum.membership:body.guestbookHidden" }
  • AddedVertex AddedVertex { vertex_id: "app.atmobb.forum.membership:body.guestbookHidden:items" }
  • AddedVertex AddedVertex { vertex_id: "app.atmobb.forum.membership:body.pinned" }
  • AddedVertex AddedVertex { vertex_id: "app.atmobb.forum.membership:body.pinned:items" }
  • AddedEdge AddedEdge { src: "app.atmobb.forum.membership#closedPeriod", tgt: "app.atmobb.forum.membership#closedPeriod.to", kind: "prop", name: Some("to") }
  • AddedEdge AddedEdge { src: "app.atmobb.forum.membership:body", tgt: "app.atmobb.forum.membership:body.guestbook", kind: "prop", name: Some("guestbook") }
  • AddedEdge AddedEdge { src: "app.atmobb.forum.membership:body", tgt: "app.atmobb.forum.membership:body.guestbookBlocked", kind: "prop", name: Some("guestbookBlocked") }
  • AddedEdge AddedEdge { src: "app.atmobb.forum.membership:body", tgt: "app.atmobb.forum.membership:body.guestbookClosed", kind: "prop", name: Some("guestbookClosed") }
  • AddedEdge AddedEdge { src: "app.atmobb.forum.membership:body", tgt: "app.atmobb.forum.membership:body.guestbookHidden", kind: "prop", name: Some("guestbookHidden") }
  • AddedEdge AddedEdge { src: "app.atmobb.forum.membership:body", tgt: "app.atmobb.forum.membership:body.pinned", kind: "prop", name: Some("pinned") }
  • AddedEdge AddedEdge { src: "app.atmobb.forum.membership:body.guestbookBlocked", tgt: "app.atmobb.forum.membership:body.guestbookBlocked:items", kind: "items", name: None }
  • AddedEdge AddedEdge { src: "app.atmobb.forum.membership:body.guestbookClosed", tgt: "app.atmobb.forum.membership:body.guestbookClosed:items", kind: "items", name: None }
  • AddedEdge AddedEdge { src: "app.atmobb.forum.membership:body.guestbookClosed:items", tgt: "app.atmobb.forum.membership#closedPeriod", kind: "ref", name: None }
  • AddedEdge AddedEdge { src: "app.atmobb.forum.membership:body.guestbookHidden", tgt: "app.atmobb.forum.membership:body.guestbookHidden:items", kind: "items", name: None }
  • AddedEdge AddedEdge { src: "app.atmobb.forum.membership:body.pinned", tgt: "app.atmobb.forum.membership:body.pinned:items", kind: "items", name: None }

Migration Guidance

Added Elements

  • AddedVertex { vertex_id: "app.atmobb.forum.membership#closedPeriod" }
  • AddedVertex { vertex_id: "app.atmobb.forum.membership#closedPeriod.from" }
  • AddedVertex { vertex_id: "app.atmobb.forum.membership#closedPeriod.to" }
  • AddedVertex { vertex_id: "app.atmobb.forum.membership:body.guestbook" }
  • AddedVertex { vertex_id: "app.atmobb.forum.membership:body.guestbookBlocked" }
  • AddedVertex { vertex_id: "app.atmobb.forum.membership:body.guestbookBlocked:items" }
  • AddedVertex { vertex_id: "app.atmobb.forum.membership:body.guestbookClosed" }
  • AddedVertex { vertex_id: "app.atmobb.forum.membership:body.guestbookClosed:items" }
  • AddedVertex { vertex_id: "app.atmobb.forum.membership:body.guestbookHidden" }
  • AddedVertex { vertex_id: "app.atmobb.forum.membership:body.guestbookHidden:items" }
  • AddedVertex { vertex_id: "app.atmobb.forum.membership:body.pinned" }
  • AddedVertex { vertex_id: "app.atmobb.forum.membership:body.pinned:items" }

Additional Notes

  • Breaking: RequiredEdgeAdded { vertex_id: "app.atmobb.forum.membership#closedPeriod", src: "app.atmobb.forum.membership#closedPeriod", tgt: "app.atmobb.forum.membership#closedPeriod.from", kind: "prop", name: Some("from") }
  • Non-breaking: AddedEdge { src: "app.atmobb.forum.membership#closedPeriod", tgt: "app.atmobb.forum.membership#closedPeriod.to", kind: "prop", name: Some("to") }
  • Non-breaking: AddedEdge { src: "app.atmobb.forum.membership:body", tgt: "app.atmobb.forum.membership:body.guestbook", kind: "prop", name: Some("guestbook") }
  • Non-breaking: AddedEdge { src: "app.atmobb.forum.membership:body", tgt: "app.atmobb.forum.membership:body.guestbookBlocked", kind: "prop", name: Some("guestbookBlocked") }
  • Non-breaking: AddedEdge { src: "app.atmobb.forum.membership:body", tgt: "app.atmobb.forum.membership:body.guestbookClosed", kind: "prop", name: Some("guestbookClosed") }
  • Non-breaking: AddedEdge { src: "app.atmobb.forum.membership:body", tgt: "app.atmobb.forum.membership:body.guestbookHidden", kind: "prop", name: Some("guestbookHidden") }
  • Non-breaking: AddedEdge { src: "app.atmobb.forum.membership:body", tgt: "app.atmobb.forum.membership:body.pinned", kind: "prop", name: Some("pinned") }
  • Non-breaking: AddedEdge { src: "app.atmobb.forum.membership:body.guestbookBlocked", tgt: "app.atmobb.forum.membership:body.guestbookBlocked:items", kind: "items", name: None }
  • Non-breaking: AddedEdge { src: "app.atmobb.forum.membership:body.guestbookClosed", tgt: "app.atmobb.forum.membership:body.guestbookClosed:items", kind: "items", name: None }
  • Non-breaking: AddedEdge { src: "app.atmobb.forum.membership:body.guestbookClosed:items", tgt: "app.atmobb.forum.membership#closedPeriod", kind: "ref", name: None }
  • Non-breaking: AddedEdge { src: "app.atmobb.forum.membership:body.guestbookHidden", tgt: "app.atmobb.forum.membership:body.guestbookHidden:items", kind: "items", name: None }
  • Non-breaking: AddedEdge { src: "app.atmobb.forum.membership:body.pinned", tgt: "app.atmobb.forum.membership:body.pinned:items", kind: "items", name: None }
1 1
{
2 2
  "$type": "com.atproto.lexicon.schema",
3 3
  "defs": {
4 +
    "closedPeriod": {
5 +
      "description": "A span the guestbook was closed. With no end it is closed still.",
6 +
      "properties": {
7 +
        "from": {
8 +
          "format": "datetime",
9 +
          "type": "string"
10 +
        },
11 +
        "to": {
12 +
          "format": "datetime",
13 +
          "type": "string"
14 +
        }
15 +
      },
16 +
      "required": [
17 +
        "from"
18 +
      ],
19 +
      "type": "object"
20 +
    },
4 21
    "main": {
5 22
      "description": "Declares membership in a forum. Lives in the member's own repo, pointing at the forum's DID — joining is an act of the member, leaving is deleting this record.",
6 23
      "key": "tid",
7 24
      "record": {
8 25
        "properties": {
9 26
          "createdAt": {
10 27
            "format": "datetime",
11 28
            "type": "string"
12 29
          },
13 30
          "forum": {
14 31
            "format": "did",
15 32
            "type": "string"
16 33
          },
34 +
          "guestbook": {
35 +
            "description": "Whether the member's guestbook on this forum is open for signing. Absent means closed.",
36 +
            "type": "boolean"
37 +
          },
38 +
          "guestbookBlocked": {
39 +
            "description": "Signers the member blocked from their guestbook; none of their entries show.",
40 +
            "items": {
41 +
              "format": "did",
42 +
              "type": "string"
43 +
            },
44 +
            "maxLength": 500,
45 +
            "type": "array"
46 +
          },
47 +
          "guestbookClosed": {
48 +
            "description": "Periods the guestbook was closed; an entry indexed during one never shows. Turning the guestbook on records the end of the current closed period (or, the first time, a period from the beginning of time to now); turning it off starts a new one. Past 20, the oldest periods merge into one, so nothing they covered resurfaces.",
49 +
            "items": {
50 +
              "ref": "#closedPeriod",
51 +
              "type": "ref"
52 +
            },
53 +
            "maxLength": 20,
54 +
            "type": "array"
55 +
          },
56 +
          "guestbookHidden": {
57 +
            "description": "At-uris of guestbook entries the member hid.",
58 +
            "items": {
59 +
              "format": "at-uri",
60 +
              "type": "string"
61 +
            },
62 +
            "maxLength": 500,
63 +
            "type": "array"
64 +
          },
65 +
          "pinned": {
66 +
            "description": "At-uris of the member's own topics on this forum, pinned to their profile page in order.",
67 +
            "items": {
68 +
              "format": "at-uri",
69 +
              "type": "string"
70 +
            },
71 +
            "maxLength": 4,
72 +
            "type": "array"
73 +
          },
17 74
          "wearing": {
18 75
            "description": "Stamp ids the member wears on this forum, in order: an admin stamp's at-uri, or the fixed id of a generated stamp (atmobb:board:<board at-uri>, atmobb:arrival, atmobb:first-light, atmobb:early-days).",
19 76
            "items": {
20 77
              "maxLength": 300,
21 78
              "type": "string"
22 79
            },
23 -
            "maxLength": 3,
80 +
            "maxLength": 6,
24 81
            "type": "array"
25 82
          }
26 83
        },
27 84
        "required": [
28 85
          "forum"
29 86
        ],
30 87
        "type": "object"
31 88
      },
32 89
      "type": "record"
33 90
    }
34 91
  },
35 92
  "id": "app.atmobb.forum.membership",
36 93
  "lexicon": 1
37 94
}

Compare Other Versions

Lexicon Garden

@