social.colibri.community

colibri.social

Schema Diff

+18 -3

From

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

To

CID
bafyreihiool3l42...
Indexed At
2026-07-24 14:43 UTC
View this version

Compatibility Analysis

Backward Compatible

Backward compatible. 6 non-breaking changes.

Non-Breaking Changes (6)
  • AddedVertex AddedVertex { vertex_id: "social.colibri.community:body.appview" }
  • 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.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.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.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 +
          "appview": {
29 +
            "type": "string",
30 +
            "format": "did",
31 +
            "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."
32 +
          },
28 33
          "picture": {
29 34
            "type": "blob",
30 35
            "accept": [
31 36
              "image/jpeg",
32 37
              "image/png",
33 38
              "image/gif"
34 39
            ],
35 40
            "description": "An image for the community that will be shown to users."
36 41
          },
42 +
          "migratedTo": {
43 +
            "type": "string",
44 +
            "format": "at-uri",
45 +
            "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."
46 +
          },
37 47
          "description": {
38 48
            "type": "string",
39 49
            "default": "",
40 50
            "maxLength": 256,
41 51
            "description": "A description of the community."
42 52
          },
53 +
          "migratedFrom": {
54 +
            "type": "string",
55 +
            "format": "at-uri",
56 +
            "description": "Set on a community created by migrating a legacy community. Points at the legacy community record this one replaces."
57 +
          },
43 58
          "categoryOrder": {
44 59
            "type": "array",
45 60
            "items": {
46 61
              "type": "string",
47 62
              "format": "record-key",
48 63
              "description": "A category in this community."
49 64
            },
50 65
            "description": "The order of the categories in this community."
51 66
          },
52 67
          "requiresApprovalToJoin": {
53 68
            "type": "boolean",
54 69
            "default": true,
55 70
            "description": "Whether users can chat in this community without the owner having to create an acknowledgement record."
56 71
          }
57 72
        }
58 73
      },
59 -
      "description": "A community, or \"server\", is where users join to interact with each other on Colibri."
74 +
      "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 75
    }
61 76
  },
62 77
  "$type": "com.atproto.lexicon.schema",
63 78
  "lexicon": 1,
64 -
  "revision": 1
79 +
  "revision": 4
65 80
}

Compare Other Versions

Lexicon Garden

@