social.colibri.community

colibri.social

Schema Diff

+35 -4

From

CID
bafyreiezjl6dpz4...
Indexed At
2026-03-25 16:40 UTC
View this version

To

CID
bafyreiex5vsfhbv...
Indexed At
2026-08-15 22:24 UTC
View this version

Compatibility Analysis

Backward Compatible

Backward compatible. 10 non-breaking changes.

Non-Breaking Changes (10)
  • AddedVertex AddedVertex { vertex_id: "social.colibri.community:body.appview" }
  • AddedVertex AddedVertex { vertex_id: "social.colibri.community:body.banner" }
  • AddedVertex AddedVertex { vertex_id: "social.colibri.community:body.linkEmbeds" }
  • AddedVertex AddedVertex { vertex_id: "social.colibri.community:body.migratedFrom" }
  • AddedVertex AddedVertex { vertex_id: "social.colibri.community:body.migratedTo" }
  • AddedEdge AddedEdge { src: "social.colibri.community:body", tgt: "social.colibri.community:body.appview", kind: "prop", name: Some("appview") }
  • AddedEdge AddedEdge { src: "social.colibri.community:body", tgt: "social.colibri.community:body.banner", kind: "prop", name: Some("banner") }
  • AddedEdge AddedEdge { src: "social.colibri.community:body", tgt: "social.colibri.community:body.linkEmbeds", kind: "prop", name: Some("linkEmbeds") }
  • AddedEdge AddedEdge { src: "social.colibri.community:body", tgt: "social.colibri.community:body.migratedFrom", kind: "prop", name: Some("migratedFrom") }
  • AddedEdge AddedEdge { src: "social.colibri.community:body", tgt: "social.colibri.community:body.migratedTo", kind: "prop", name: Some("migratedTo") }

Migration Guidance

Added Elements

  • AddedVertex { vertex_id: "social.colibri.community:body.appview" }
  • AddedVertex { vertex_id: "social.colibri.community:body.banner" }
  • AddedVertex { vertex_id: "social.colibri.community:body.linkEmbeds" }
  • AddedVertex { vertex_id: "social.colibri.community:body.migratedFrom" }
  • AddedVertex { vertex_id: "social.colibri.community:body.migratedTo" }

Additional Notes

  • Non-breaking: AddedEdge { src: "social.colibri.community:body", tgt: "social.colibri.community:body.appview", kind: "prop", name: Some("appview") }
  • Non-breaking: AddedEdge { src: "social.colibri.community:body", tgt: "social.colibri.community:body.banner", kind: "prop", name: Some("banner") }
  • Non-breaking: AddedEdge { src: "social.colibri.community:body", tgt: "social.colibri.community:body.linkEmbeds", kind: "prop", name: Some("linkEmbeds") }
  • Non-breaking: AddedEdge { src: "social.colibri.community:body", tgt: "social.colibri.community:body.migratedFrom", kind: "prop", name: Some("migratedFrom") }
  • Non-breaking: AddedEdge { src: "social.colibri.community:body", tgt: "social.colibri.community:body.migratedTo", kind: "prop", name: Some("migratedTo") }
1 1
{
2 2
  "id": "social.colibri.community",
3 3
  "defs": {
4 4
    "main": {
5 -
      "key": "tid",
5 +
      "key": "literal:self",
6 6
      "type": "record",
7 7
      "record": {
8 8
        "type": "object",
9 9
        "required": [
10 10
          "name",
11 11
          "description",
12 12
          "categoryOrder",
13 13
          "requiresApprovalToJoin"
14 14
        ],
15 15
        "properties": {
16 16
          "name": {
17 17
            "type": "string",
18 18
            "default": "New Community",
19 19
            "maxLength": 32,
20 20
            "minLength": 1,
21 21
            "description": "The name of the community."
22 22
          },
23 23
          "$type": {
24 24
            "type": "string",
25 25
            "format": "nsid",
26 26
            "description": "The type of the record."
27 27
          },
28 +
          "banner": {
29 +
            "type": "blob",
30 +
            "accept": [
31 +
              "image/jpeg",
32 +
              "image/png",
33 +
              "image/gif",
34 +
              "image/webp"
35 +
            ],
36 +
            "description": "A banner for the community that will be shown to users."
37 +
          },
38 +
          "appview": {
39 +
            "type": "string",
40 +
            "format": "did",
41 +
            "description": "DID of the AppView that administers this community and acts as its off-protocol hub (Humming presence relay and voice SFU host). Written by the credential-holding AppView. Consumers that find this field absent fall back to did:web:api.colibri.social."
42 +
          },
28 43
          "picture": {
29 44
            "type": "blob",
30 45
            "accept": [
31 46
              "image/jpeg",
32 47
              "image/png",
33 -
              "image/gif"
48 +
              "image/gif",
49 +
              "image/webp"
34 50
            ],
35 51
            "description": "An image for the community that will be shown to users."
36 52
          },
53 +
          "linkEmbeds": {
54 +
            "type": "boolean",
55 +
            "default": true,
56 +
            "description": "Whether link previews are displayed in this community by default. Individual channels may override this."
57 +
          },
58 +
          "migratedTo": {
59 +
            "type": "string",
60 +
            "format": "at-uri",
61 +
            "description": "Set on a legacy community record once it has been migrated. Points at the new community record that replaces it; consumers treat this community as retired and hide it."
62 +
          },
37 63
          "description": {
38 64
            "type": "string",
39 65
            "default": "",
40 66
            "maxLength": 256,
41 67
            "description": "A description of the community."
42 68
          },
69 +
          "migratedFrom": {
70 +
            "type": "string",
71 +
            "format": "at-uri",
72 +
            "description": "Set on a community created by migrating a legacy community. Points at the legacy community record this one replaces."
73 +
          },
43 74
          "categoryOrder": {
44 75
            "type": "array",
45 76
            "items": {
46 77
              "type": "string",
47 78
              "format": "record-key",
48 79
              "description": "A category in this community."
49 80
            },
50 81
            "description": "The order of the categories in this community."
51 82
          },
52 83
          "requiresApprovalToJoin": {
53 84
            "type": "boolean",
54 85
            "default": true,
55 86
            "description": "Whether users can chat in this community without the owner having to create an acknowledgement record."
56 87
          }
57 88
        }
58 89
      },
59 -
      "description": "A community, or \"server\", is where users join to interact with each other on Colibri."
90 +
      "description": "A community, or \"server\", is where users join to interact with each other on Colibri. Singleton record on the community DID's repo."
60 91
    }
61 92
  },
62 93
  "$type": "com.atproto.lexicon.schema",
63 94
  "lexicon": 1,
64 -
  "revision": 1
95 +
  "revision": 5
65 96
}

Compare Other Versions

Lexicon Garden

@