social.colibri.channel.defs

colibri.social

Schema Diff

+16 -0

From

CID
bafyreig4xnrtc4z...
Indexed At
2026-08-06 06:18 UTC
View this version

To

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

Compatibility Analysis

Backward Compatible

Backward compatible. 8 non-breaking changes.

Non-Breaking Changes (8)
  • AddedVertex AddedVertex { vertex_id: "social.colibri.channel.defs#message.modSuppressedEmbeds" }
  • AddedVertex AddedVertex { vertex_id: "social.colibri.channel.defs#message.modSuppressedEmbeds:items" }
  • AddedVertex AddedVertex { vertex_id: "social.colibri.channel.defs#message.suppressedEmbeds" }
  • AddedVertex AddedVertex { vertex_id: "social.colibri.channel.defs#message.suppressedEmbeds:items" }
  • AddedEdge AddedEdge { src: "social.colibri.channel.defs#message", tgt: "social.colibri.channel.defs#message.modSuppressedEmbeds", kind: "prop", name: Some("modSuppressedEmbeds") }
  • AddedEdge AddedEdge { src: "social.colibri.channel.defs#message", tgt: "social.colibri.channel.defs#message.suppressedEmbeds", kind: "prop", name: Some("suppressedEmbeds") }
  • AddedEdge AddedEdge { src: "social.colibri.channel.defs#message.modSuppressedEmbeds", tgt: "social.colibri.channel.defs#message.modSuppressedEmbeds:items", kind: "items", name: None }
  • AddedEdge AddedEdge { src: "social.colibri.channel.defs#message.suppressedEmbeds", tgt: "social.colibri.channel.defs#message.suppressedEmbeds:items", kind: "items", name: None }

Migration Guidance

Added Elements

  • AddedVertex { vertex_id: "social.colibri.channel.defs#message.modSuppressedEmbeds" }
  • AddedVertex { vertex_id: "social.colibri.channel.defs#message.modSuppressedEmbeds:items" }
  • AddedVertex { vertex_id: "social.colibri.channel.defs#message.suppressedEmbeds" }
  • AddedVertex { vertex_id: "social.colibri.channel.defs#message.suppressedEmbeds:items" }

Additional Notes

  • Non-breaking: AddedEdge { src: "social.colibri.channel.defs#message", tgt: "social.colibri.channel.defs#message.modSuppressedEmbeds", kind: "prop", name: Some("modSuppressedEmbeds") }
  • Non-breaking: AddedEdge { src: "social.colibri.channel.defs#message", tgt: "social.colibri.channel.defs#message.suppressedEmbeds", kind: "prop", name: Some("suppressedEmbeds") }
  • Non-breaking: AddedEdge { src: "social.colibri.channel.defs#message.modSuppressedEmbeds", tgt: "social.colibri.channel.defs#message.modSuppressedEmbeds:items", kind: "items", name: None }
  • Non-breaking: AddedEdge { src: "social.colibri.channel.defs#message.suppressedEmbeds", tgt: "social.colibri.channel.defs#message.suppressedEmbeds:items", kind: "items", name: None }
1 1
{
2 2
  "id": "social.colibri.channel.defs",
3 3
  "defs": {
4 4
    "message": {
5 5
      "type": "object",
6 6
      "required": [
7 7
        "uri",
8 8
        "text",
9 9
        "facets",
10 10
        "channel",
11 11
        "community",
12 12
        "author",
13 13
        "attachments",
14 14
        "reactions",
15 15
        "createdAt",
16 16
        "edited"
17 17
      ],
18 18
      "properties": {
19 19
        "uri": {
20 20
          "type": "string",
21 21
          "format": "at-uri"
22 22
        },
23 23
        "text": {
24 24
          "type": "string"
25 25
        },
26 26
        "author": {
27 27
          "ref": "lex:social.colibri.actor.defs#actorView",
28 28
          "type": "ref"
29 29
        },
30 30
        "edited": {
31 31
          "type": "boolean"
32 32
        },
33 33
        "facets": {
34 34
          "type": "array",
35 35
          "items": {
36 36
            "ref": "lex:social.colibri.richtext.facet",
37 37
            "type": "ref"
38 38
          }
39 39
        },
40 40
        "parent": {
41 41
          "ref": "lex:social.colibri.channel.defs#message",
42 42
          "type": "ref",
43 43
          "description": "The message this one replies to, if any. Never itself nested (the parent's own parent is omitted)."
44 44
        },
45 45
        "channel": {
46 46
          "type": "string",
47 47
          "format": "at-uri"
48 48
        },
49 49
        "community": {
50 50
          "type": "string",
51 51
          "format": "at-uri"
52 52
        },
53 53
        "createdAt": {
54 54
          "type": "string",
55 55
          "format": "datetime"
56 56
        },
57 57
        "reactions": {
58 58
          "type": "array",
59 59
          "items": {
60 60
            "ref": "lex:social.colibri.channel.defs#reactionView",
61 61
            "type": "ref"
62 62
          }
63 63
        },
64 64
        "attachments": {
65 65
          "type": "array",
66 66
          "items": {
67 67
            "ref": "lex:social.colibri.channel.defs#attachment",
68 68
            "type": "ref"
69 69
          }
70 +
        },
71 +
        "suppressedEmbeds": {
72 +
          "type": "array",
73 +
          "items": {
74 +
            "type": "string",
75 +
            "format": "uri"
76 +
          },
77 +
          "description": "URLs whose embed the author suppressed, mirrored from the message record."
78 +
        },
79 +
        "modSuppressedEmbeds": {
80 +
          "type": "array",
81 +
          "items": {
82 +
            "type": "string",
83 +
            "format": "uri"
84 +
          },
85 +
          "description": "URLs whose embed a moderator suppressed, derived from the community's moderation log. Only the moderator who can hide messages may clear these."
70 86
        }
71 87
      },
72 88
      "description": "A hydrated message as served by the AppView."
73 89
    },
74 90
    "attachment": {
75 91
      "type": "object",
76 92
      "required": [
77 93
        "blob"
78 94
      ],
79 95
      "properties": {
80 96
        "blob": {
81 97
          "type": "blob"
82 98
        },
83 99
        "name": {
84 100
          "type": "string"
85 101
        },
86 102
        "width": {
87 103
          "type": "integer",
88 104
          "description": "Pixel width of the attachment's intrinsic dimensions, when it is a decodable image or video. Lets a client reserve the correct box before the bytes arrive."
89 105
        },
90 106
        "height": {
91 107
          "type": "integer",
92 108
          "description": "Pixel height of the attachment's intrinsic dimensions, when it is a decodable image or video."
93 109
        }
94 110
      },
95 111
      "description": "A file attached to a message."
96 112
    },
97 113
    "readCursor": {
98 114
      "type": "object",
99 115
      "required": [
100 116
        "uri",
101 117
        "cursor",
102 118
        "channel"
103 119
      ],
104 120
      "properties": {
105 121
        "uri": {
106 122
          "type": "string",
107 123
          "format": "at-uri"
108 124
        },
109 125
        "cursor": {
110 126
          "type": "string"
111 127
        },
112 128
        "channel": {
113 129
          "type": "string",
114 130
          "format": "at-uri"
115 131
        }
116 132
      },
117 133
      "description": "The authenticated user's read cursor for a channel."
118 134
    },
119 135
    "reactionView": {
120 136
      "type": "object",
121 137
      "required": [
122 138
        "emoji",
123 139
        "count",
124 140
        "reactorDIDs"
125 141
      ],
126 142
      "properties": {
127 143
        "count": {
128 144
          "type": "integer"
129 145
        },
130 146
        "emoji": {
131 147
          "type": "string"
132 148
        },
133 149
        "reactorDIDs": {
134 150
          "type": "array",
135 151
          "items": {
136 152
            "type": "string",
137 153
            "format": "did"
138 154
          }
139 155
        }
140 156
      },
141 157
      "description": "An aggregated reaction on a message."
142 158
    },
143 159
    "unreadStatus": {
144 160
      "type": "object",
145 161
      "required": [
146 162
        "channelUri",
147 163
        "hasUnreadMessages",
148 164
        "unreadPingCount"
149 165
      ],
150 166
      "properties": {
151 167
        "channelUri": {
152 168
          "type": "string",
153 169
          "format": "at-uri"
154 170
        },
155 171
        "unreadPingCount": {
156 172
          "type": "integer"
157 173
        },
158 174
        "hasUnreadMessages": {
159 175
          "type": "boolean"
160 176
        }
161 177
      },
162 178
      "description": "Per-channel unread state for the authenticated user."
163 179
    }
164 180
  },
165 181
  "$type": "com.atproto.lexicon.schema",
166 182
  "lexicon": 1
167 183
}

Compare Other Versions

Lexicon Garden

@