social.colibri.channel.defs
Schema Diff
+8 -0
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
}