social.colibri.channel.defs

colibri.social

Schema Diff

+8 -0

From

CID
bafyreibrv3jxfhz...
Indexed At
2026-07-24 14:44 UTC
View this version

To

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

Compatibility Analysis

Backward Compatible

Backward compatible. 4 non-breaking changes.

Non-Breaking Changes (4)
  • AddedVertex AddedVertex { vertex_id: "social.colibri.channel.defs#attachment.height" }
  • AddedVertex AddedVertex { vertex_id: "social.colibri.channel.defs#attachment.width" }
  • AddedEdge AddedEdge { src: "social.colibri.channel.defs#attachment", tgt: "social.colibri.channel.defs#attachment.height", kind: "prop", name: Some("height") }
  • AddedEdge AddedEdge { src: "social.colibri.channel.defs#attachment", tgt: "social.colibri.channel.defs#attachment.width", kind: "prop", name: Some("width") }

Migration Guidance

Added Elements

  • AddedVertex { vertex_id: "social.colibri.channel.defs#attachment.height" }
  • AddedVertex { vertex_id: "social.colibri.channel.defs#attachment.width" }

Additional Notes

  • Non-breaking: AddedEdge { src: "social.colibri.channel.defs#attachment", tgt: "social.colibri.channel.defs#attachment.height", kind: "prop", name: Some("height") }
  • Non-breaking: AddedEdge { src: "social.colibri.channel.defs#attachment", tgt: "social.colibri.channel.defs#attachment.width", kind: "prop", name: Some("width") }
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 70
        }
71 71
      },
72 72
      "description": "A hydrated message as served by the AppView."
73 73
    },
74 74
    "attachment": {
75 75
      "type": "object",
76 76
      "required": [
77 77
        "blob"
78 78
      ],
79 79
      "properties": {
80 80
        "blob": {
81 81
          "type": "blob"
82 82
        },
83 83
        "name": {
84 84
          "type": "string"
85 +
        },
86 +
        "width": {
87 +
          "type": "integer",
88 +
          "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 +
        },
90 +
        "height": {
91 +
          "type": "integer",
92 +
          "description": "Pixel height of the attachment's intrinsic dimensions, when it is a decodable image or video."
85 93
        }
86 94
      },
87 95
      "description": "A file attached to a message."
88 96
    },
89 97
    "readCursor": {
90 98
      "type": "object",
91 99
      "required": [
92 100
        "uri",
93 101
        "cursor",
94 102
        "channel"
95 103
      ],
96 104
      "properties": {
97 105
        "uri": {
98 106
          "type": "string",
99 107
          "format": "at-uri"
100 108
        },
101 109
        "cursor": {
102 110
          "type": "string"
103 111
        },
104 112
        "channel": {
105 113
          "type": "string",
106 114
          "format": "at-uri"
107 115
        }
108 116
      },
109 117
      "description": "The authenticated user's read cursor for a channel."
110 118
    },
111 119
    "reactionView": {
112 120
      "type": "object",
113 121
      "required": [
114 122
        "emoji",
115 123
        "count",
116 124
        "reactorDIDs"
117 125
      ],
118 126
      "properties": {
119 127
        "count": {
120 128
          "type": "integer"
121 129
        },
122 130
        "emoji": {
123 131
          "type": "string"
124 132
        },
125 133
        "reactorDIDs": {
126 134
          "type": "array",
127 135
          "items": {
128 136
            "type": "string",
129 137
            "format": "did"
130 138
          }
131 139
        }
132 140
      },
133 141
      "description": "An aggregated reaction on a message."
134 142
    },
135 143
    "unreadStatus": {
136 144
      "type": "object",
137 145
      "required": [
138 146
        "channelUri",
139 147
        "hasUnreadMessages",
140 148
        "unreadPingCount"
141 149
      ],
142 150
      "properties": {
143 151
        "channelUri": {
144 152
          "type": "string",
145 153
          "format": "at-uri"
146 154
        },
147 155
        "unreadPingCount": {
148 156
          "type": "integer"
149 157
        },
150 158
        "hasUnreadMessages": {
151 159
          "type": "boolean"
152 160
        }
153 161
      },
154 162
      "description": "Per-channel unread state for the authenticated user."
155 163
    }
156 164
  },
157 165
  "$type": "com.atproto.lexicon.schema",
158 166
  "lexicon": 1
159 167
}

Compare Other Versions

Lexicon Garden

@