social.colibri.message

colibri.social

Schema Diff

+10 -2

From

CID
bafyreifgqbijtch...
Indexed At
2026-03-19 20:26 UTC
View this version

To

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

Compatibility Analysis

Breaking Changes Detected

1 breaking change, 4 non-breaking changes.

Breaking Changes (1)
  • ConstraintTightened ConstraintTightened { vertex_id: "social.colibri.message:body.channel", sort: "format", old_value: "record-key", new_value: "at-uri" }
Non-Breaking Changes (4)
  • AddedVertex AddedVertex { vertex_id: "social.colibri.message:body.suppressedEmbeds" }
  • AddedVertex AddedVertex { vertex_id: "social.colibri.message:body.suppressedEmbeds:items" }
  • AddedEdge AddedEdge { src: "social.colibri.message:body", tgt: "social.colibri.message:body.suppressedEmbeds", kind: "prop", name: Some("suppressedEmbeds") }
  • AddedEdge AddedEdge { src: "social.colibri.message:body.suppressedEmbeds", tgt: "social.colibri.message:body.suppressedEmbeds:items", kind: "items", name: None }

Migration Guidance

Added Elements

  • AddedVertex { vertex_id: "social.colibri.message:body.suppressedEmbeds" }
  • AddedVertex { vertex_id: "social.colibri.message:body.suppressedEmbeds:items" }

Constraint Changes

  • ConstraintTightened ConstraintTightened { vertex_id: "social.colibri.message:body.channel", sort: "format", old_value: "record-key", new_value: "at-uri" }

Additional Notes

  • Non-breaking: AddedEdge { src: "social.colibri.message:body", tgt: "social.colibri.message:body.suppressedEmbeds", kind: "prop", name: Some("suppressedEmbeds") }
  • Non-breaking: AddedEdge { src: "social.colibri.message:body.suppressedEmbeds", tgt: "social.colibri.message:body.suppressedEmbeds:items", kind: "items", name: None }
1 1
{
2 2
  "$type": "com.atproto.lexicon.schema",
3 3
  "defs": {
4 4
    "attachment": {
5 5
      "description": "A file attached to a message.",
6 6
      "properties": {
7 7
        "blob": {
8 8
          "description": "The attached file.",
9 9
          "type": "blob"
10 10
        },
11 11
        "name": {
12 12
          "description": "The original filename.",
13 13
          "maxLength": 256,
14 14
          "type": "string"
15 15
        }
16 16
      },
17 17
      "required": [
18 18
        "blob"
19 19
      ],
20 20
      "type": "object"
21 21
    },
22 22
    "main": {
23 23
      "description": "A message sent in a channel on Colibri",
24 24
      "key": "tid",
25 25
      "record": {
26 26
        "properties": {
27 27
          "$type": {
28 28
            "description": "The type of the record.",
29 29
            "format": "nsid",
30 30
            "type": "string"
31 31
          },
32 32
          "attachments": {
33 33
            "description": "An array of attachment objects for this message.",
34 34
            "items": {
35 35
              "ref": "lex:social.colibri.message#attachment",
36 36
              "type": "ref"
37 37
            },
38 38
            "type": "array"
39 39
          },
40 40
          "channel": {
41 41
            "description": "The channel this message was sent in.",
42 -
            "format": "record-key",
42 +
            "format": "at-uri",
43 43
            "type": "string"
44 44
          },
45 45
          "createdAt": {
46 46
            "description": "When the message was sent.",
47 47
            "format": "datetime",
48 48
            "type": "string"
49 49
          },
50 50
          "edited": {
51 51
            "default": false,
52 52
            "description": "Whether this message has been edited.",
53 53
            "type": "boolean"
54 54
          },
55 55
          "facets": {
56 56
            "description": "Annotations of sections of the text.",
57 57
            "items": {
58 58
              "ref": "lex:social.colibri.richtext.facet",
59 59
              "type": "ref"
60 60
            },
61 61
            "type": "array"
62 62
          },
63 63
          "parent": {
64 64
            "description": "The record key of a message this message is replying to.",
65 65
            "format": "record-key",
66 66
            "type": "string"
67 67
          },
68 +
          "suppressedEmbeds": {
69 +
            "description": "URLs from this message's link facets whose embed the author has chosen not to display. Only the author writes this; moderator suppression is recorded separately in the community's moderation log.",
70 +
            "items": {
71 +
              "format": "uri",
72 +
              "type": "string"
73 +
            },
74 +
            "type": "array"
75 +
          },
68 76
          "text": {
69 77
            "description": "The message content.",
70 78
            "maxLength": 2048,
71 79
            "type": "string"
72 80
          }
73 81
        },
74 82
        "required": [
75 83
          "text",
76 84
          "createdAt",
77 85
          "channel"
78 86
        ],
79 87
        "type": "object"
80 88
      },
81 89
      "type": "record"
82 90
    }
83 91
  },
84 92
  "description": "A message sent in a channel on Colibri.",
85 93
  "id": "social.colibri.message",
86 94
  "lexicon": 1,
87 -
  "revision": 2
95 +
  "revision": 3
88 96
}

Compare Other Versions

Lexicon Garden

@