From
bafyreibos2hjbu6p42hywl42k3x4yh6tg5hmi43dgbhtxiymevc4mykvye
indexed 2026-07-24 05:18 UTC
View this version
To
bafyreiau7yirximboqs7h2b4xwfwhen3rrlcvnn2rjg3x6aythuppgbmia
indexed 2026-09-07 20:28 UTC
View this version
Compatibility
breaking 2 breaking changes, 10 non-breaking changes.
Breaking changes (2)
- RemovedEdge RemovedEdge { src: "social.coves.community.comment.defs#commentView.embed", tgt: "social.coves.community.comment.defs#commentView.embed:variant1", kind: "variant", name: Some("social.coves.embed.post") }
- RemovedEdge RemovedEdge { src: "social.coves.community.comment.defs#commentView.embed:variant1", tgt: "social.coves.embed.post", kind: "ref", name: None }
Non-breaking changes (10)
- AddedVertex AddedVertex { vertex_id: "social.coves.community.comment.defs#commentView.embed:variant2" }
- AddedVertex AddedVertex { vertex_id: "social.coves.community.comment.defs#commentView.embed:variant3" }
- AddedVertex AddedVertex { vertex_id: "social.coves.embed.images#view" }
- AddedVertex AddedVertex { vertex_id: "social.coves.embed.post#view" }
- AddedEdge AddedEdge { src: "social.coves.community.comment.defs#commentView.embed", tgt: "social.coves.community.comment.defs#commentView.embed:variant1", kind: "variant", name: Some("social.coves.embed.images#view") }
- AddedEdge AddedEdge { src: "social.coves.community.comment.defs#commentView.embed", tgt: "social.coves.community.comment.defs#commentView.embed:variant2", kind: "variant", name: Some("social.coves.embed.post") }
- AddedEdge AddedEdge { src: "social.coves.community.comment.defs#commentView.embed", tgt: "social.coves.community.comment.defs#commentView.embed:variant3", kind: "variant", name: Some("social.coves.embed.post#view") }
- AddedEdge AddedEdge { src: "social.coves.community.comment.defs#commentView.embed:variant1", tgt: "social.coves.embed.images#view", kind: "ref", name: None }
- AddedEdge AddedEdge { src: "social.coves.community.comment.defs#commentView.embed:variant2", tgt: "social.coves.embed.post", kind: "ref", name: None }
- AddedEdge AddedEdge { src: "social.coves.community.comment.defs#commentView.embed:variant3", tgt: "social.coves.embed.post#view", kind: "ref", name: None }
Migration guidance
Added
AddedVertex { vertex_id: "social.coves.community.comment.defs#commentView.embed:variant2" }AddedVertex { vertex_id: "social.coves.community.comment.defs#commentView.embed:variant3" }AddedVertex { vertex_id: "social.coves.embed.images#view" }AddedVertex { vertex_id: "social.coves.embed.post#view" }
Notes
- Breaking: RemovedEdge { src: "social.coves.community.comment.defs#commentView.embed", tgt: "social.coves.community.comment.defs#commentView.embed:variant1", kind: "variant", name: Some("social.coves.embed.post") }
- Breaking: RemovedEdge { src: "social.coves.community.comment.defs#commentView.embed:variant1", tgt: "social.coves.embed.post", kind: "ref", name: None }
- Non-breaking: AddedEdge { src: "social.coves.community.comment.defs#commentView.embed", tgt: "social.coves.community.comment.defs#commentView.embed:variant1", kind: "variant", name: Some("social.coves.embed.images#view") }
- Non-breaking: AddedEdge { src: "social.coves.community.comment.defs#commentView.embed", tgt: "social.coves.community.comment.defs#commentView.embed:variant2", kind: "variant", name: Some("social.coves.embed.post") }
- Non-breaking: AddedEdge { src: "social.coves.community.comment.defs#commentView.embed", tgt: "social.coves.community.comment.defs#commentView.embed:variant3", kind: "variant", name: Some("social.coves.embed.post#view") }
- Non-breaking: AddedEdge { src: "social.coves.community.comment.defs#commentView.embed:variant1", tgt: "social.coves.embed.images#view", kind: "ref", name: None }
- Non-breaking: AddedEdge { src: "social.coves.community.comment.defs#commentView.embed:variant2", tgt: "social.coves.embed.post", kind: "ref", name: None }
- Non-breaking: AddedEdge { src: "social.coves.community.comment.defs#commentView.embed:variant3", tgt: "social.coves.embed.post#view", kind: "ref", name: None }
Changes
11
{22
"$type": "com.atproto.lexicon.schema",33
"defs": {44
"blockedComment": {55
"description": "Comment is blocked due to viewer blocking author or moderation action",66
"properties": {77
"blocked": {88
"const": true,99
"description": "Always true for blocked comments",1010
"type": "boolean"1111
},1212
"blockedBy": {1313
"description": "What caused the block: viewer blocked author, or comment was removed by moderators",1414
"knownValues": [1515
"author",1616
"moderator"1717
],1818
"maxLength": 64,1919
"type": "string"2020
},2121
"uri": {2222
"description": "AT-URI of the blocked comment",2323
"format": "at-uri",2424
"type": "string"2525
}2626
},2727
"required": [2828
"uri",2929
"blocked"3030
],3131
"type": "object"3232
},3333
"commentRef": {3434
"description": "Reference to a comment record",3535
"properties": {3636
"cid": {3737
"description": "CID of the comment record",3838
"format": "cid",3939
"type": "string"4040
},4141
"uri": {4242
"description": "AT-URI of the comment",4343
"format": "at-uri",4444
"type": "string"4545
}4646
},4747
"required": [4848
"uri",4949
"cid"5050
],5151
"type": "object"5252
},5353
"commentStats": {5454
"description": "Statistics for a comment",5555
"properties": {5656
"downvotes": {5757
"description": "Number of downvotes",5858
"minimum": 0,5959
"type": "integer"6060
},6161
"replyCount": {6262
"description": "Number of direct replies to this comment",6363
"minimum": 0,6464
"type": "integer"6565
},6666
"score": {6767
"description": "Calculated score (upvotes - downvotes)",6868
"type": "integer"6969
},7070
"upvotes": {7171
"description": "Number of upvotes",7272
"minimum": 0,7373
"type": "integer"7474
}7575
},7676
"required": [7777
"upvotes",7878
"downvotes",7979
"score",8080
"replyCount"8181
],8282
"type": "object"8383
},8484
"commentView": {8585
"description": "Base view for a single comment with voting, stats, and viewer state",8686
"properties": {8787
"author": {8888
"description": "Comment author information",8989
"ref": "social.coves.community.post.defs#authorView",9090
"type": "ref"9191
},9292
"cid": {9393
"description": "CID of the comment record",9494
"format": "cid",9595
"type": "string"9696
},9797
"createdAt": {9898
"description": "When the comment was created",9999
"format": "datetime",100100
"type": "string"101101
},102102
"embed": {103
"description": "Embedded content from the comment record (images or quoted post). The AppView may transform blob references into fetchable URLs and enrich quoted posts with a resolved view.",103
"description": "Embedded content from the comment record (images or quoted post). The AppView transforms blob references into fetchable image URLs and enriches quoted posts with a resolved view, so a served embed carries a #view type.",104104
"refs": [105105
"social.coves.embed.images",106
"social.coves.embed.post"106
"social.coves.embed.images#view",107
"social.coves.embed.post",108
"social.coves.embed.post#view"107109
],108110
"type": "union"109111
},110112
"indexedAt": {111113
"description": "When this comment was indexed by the AppView",112114
"format": "datetime",113115
"type": "string"114116
},115117
"parent": {116118
"description": "Reference to parent comment if this is a nested reply",117119
"ref": "#commentRef",118120
"type": "ref"119121
},120122
"post": {121123
"description": "Reference to the parent post",122124
"ref": "#postRef",123125
"type": "ref"124126
},125127
"record": {126128
"description": "The actual comment record verbatim",127129
"type": "unknown"128130
},129131
"stats": {130132
"description": "Comment statistics (votes, replies)",131133
"ref": "#commentStats",132134
"type": "ref"133135
},134136
"uri": {135137
"description": "AT-URI of the comment record",136138
"format": "at-uri",137139
"type": "string"138140
},139141
"viewer": {140142
"description": "Viewer-specific state (vote, saved, etc.)",141143
"ref": "#commentViewerState",142144
"type": "ref"143145
}144146
},145147
"required": [146148
"uri",147149
"cid",148150
"author",149151
"record",150152
"post",151153
"createdAt",152154
"indexedAt",153155
"stats"154156
],155157
"type": "object"156158
},157159
"commentViewerState": {158160
"description": "Viewer-specific state for a comment",159161
"properties": {160162
"vote": {161163
"description": "Viewer's vote on this comment",162164
"knownValues": [163165
"up",164166
"down"165167
],166168
"maxLength": 64,167169
"type": "string"168170
},169171
"voteUri": {170172
"description": "AT-URI of the viewer's vote record",171173
"format": "at-uri",172174
"type": "string"173175
}174176
},175177
"type": "object"176178
},177179
"notFoundComment": {178180
"description": "Comment was not found (deleted, never indexed, or invalid URI)",179181
"properties": {180182
"notFound": {181183
"const": true,182184
"description": "Always true for not found comments",183185
"type": "boolean"184186
},185187
"uri": {186188
"description": "AT-URI of the missing comment",187189
"format": "at-uri",188190
"type": "string"189191
}190192
},191193
"required": [192194
"uri",193195
"notFound"194196
],195197
"type": "object"196198
},197199
"postRef": {198200
"description": "Reference to a post record",199201
"properties": {200202
"cid": {201203
"description": "CID of the post record",202204
"format": "cid",203205
"type": "string"204206
},205207
"uri": {206208
"description": "AT-URI of the post",207209
"format": "at-uri",208210
"type": "string"209211
}210212
},211213
"required": [212214
"uri",213215
"cid"214216
],215217
"type": "object"216218
},217219
"threadViewComment": {218220
"description": "Wrapper for threaded comment structure, similar to Bluesky's threadViewPost pattern",219221
"properties": {220222
"comment": {221223
"description": "The comment itself",222224
"ref": "#commentView",223225
"type": "ref"224226
},225227
"hasMore": {226228
"description": "True if more replies exist but are not included in this response",227229
"type": "boolean"228230
},229231
"replies": {230232
"description": "Nested replies to this comment",231233
"items": {232234
"refs": [233235
"#threadViewComment",234236
"#notFoundComment",235237
"#blockedComment"236238
],237239
"type": "union"238240
},239241
"type": "array"240242
}241243
},242244
"required": [243245
"comment"244246
],245247
"type": "object"246248
}247249
},248250
"id": "social.coves.community.comment.defs",249251
"lexicon": 1250252
}