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
  "$type": "com.atproto.lexicon.schema",
3 3
  "defs": {
4 4
    "main": {
5 -
      "description": "A community, or \"server\", is where users join to interact with each other on Colibri.",
6 -
      "key": "tid",
5 +
      "description": "A community, or \"server\", is where users join to interact with each other on Colibri. Singleton record on the community DID's repo.",
6 +
      "key": "literal:self",
7 7
      "record": {
8 8
        "properties": {
9 9
          "$type": {
10 10
            "description": "The type of the record.",
11 11
            "format": "nsid",
12 12
            "type": "string"
13 13
          },
14 +
          "appview": {
15 +
            "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.",
16 +
            "format": "did",
17 +
            "type": "string"
18 +
          },
14 19
          "categoryOrder": {
15 20
            "description": "The order of the categories in this community.",
16 21
            "items": {
17 22
              "description": "A category in this community.",
18 23
              "format": "record-key",
19 24
              "type": "string"
20 25
            },
21 26
            "type": "array"
22 27
          },
23 28
          "description": {
24 29
            "default": "",
25 30
            "description": "A description of the community.",
26 31
            "maxLength": 256,
27 32
            "type": "string"
28 33
          },
34 +
          "migratedFrom": {
35 +
            "description": "Set on a community created by migrating a legacy community. Points at the legacy community record this one replaces.",
36 +
            "format": "at-uri",
37 +
            "type": "string"
38 +
          },
39 +
          "migratedTo": {
40 +
            "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.",
41 +
            "format": "at-uri",
42 +
            "type": "string"
43 +
          },
29 44
          "name": {
30 45
            "default": "New Community",
31 46
            "description": "The name of the community.",
32 47
            "maxLength": 32,
33 48
            "minLength": 1,
34 49
            "type": "string"
35 50
          },
36 51
          "picture": {
37 52
            "accept": [
38 53
              "image/jpeg",
39 54
              "image/png",
40 55
              "image/gif"
41 56
            ],
42 57
            "description": "An image for the community that will be shown to users.",
43 58
            "type": "blob"
44 59
          },
45 60
          "requiresApprovalToJoin": {
46 61
            "default": true,
47 62
            "description": "Whether users can chat in this community without the owner having to create an acknowledgement record.",
48 63
            "type": "boolean"
49 64
          }
50 65
        },
51 66
        "required": [
52 67
          "name",
53 68
          "description",
54 69
          "categoryOrder",
55 70
          "requiresApprovalToJoin"
56 71
        ],
57 72
        "type": "object"
58 73
      },
59 74
      "type": "record"
60 75
    }
61 76
  },
62 77
  "id": "social.colibri.community",
63 78
  "lexicon": 1,
64 -
  "revision": 1
79 +
  "revision": 4
65 80
}

Compare Other Versions

Lexicon Garden

@