social.colibri.sync.subscribeHums
Schema Diff
+15 -1
Compatibility Analysis
Backward Compatible
Backward compatible. 2 non-breaking changes.
Non-Breaking Changes (2)
- AddedVertex AddedVertex { vertex_id: "social.colibri.sync.subscribeHums:params" }
- AddedEdge AddedEdge { src: "social.colibri.sync.subscribeHums", tgt: "social.colibri.sync.subscribeHums:params", kind: "prop", name: Some("parameters") }
Migration Guidance
Added Elements
AddedVertex { vertex_id: "social.colibri.sync.subscribeHums:params" }
Additional Notes
- Non-breaking: AddedEdge { src: "social.colibri.sync.subscribeHums", tgt: "social.colibri.sync.subscribeHums:params", kind: "prop", name: Some("parameters") }
1
1
{
2
2
"id": "social.colibri.sync.subscribeHums",
3
3
"defs": {
4
4
"main": {
5
5
"type": "subscription",
6
6
"errors": [
7
7
{
8
-
"name": "AuthRequired"
8
+
"name": "AuthRequired",
9
+
"description": "Missing, malformed, or unverifiable service auth."
9
10
},
10
11
{
11
12
"name": "NotEnabled",
12
13
"description": "Humming is disabled on this AppView."
13
14
},
14
15
{
15
16
"name": "TooManySubscribers",
16
17
"description": "The hub is at its subscribeHums connection limit."
17
18
}
18
19
],
19
20
"message": {
20
21
"schema": {
21
22
"refs": [
22
23
"lex:social.colibri.sync.subscribeEvents#humEnvelope"
23
24
],
24
25
"type": "union"
25
26
}
26
27
},
28
+
"parameters": {
29
+
"type": "params",
30
+
"properties": {
31
+
"communities": {
32
+
"type": "array",
33
+
"items": {
34
+
"type": "string",
35
+
"format": "did"
36
+
},
37
+
"description": "DIDs of the communities the peer wants Hums for, repeated once per community. Narrowing only: the intersection with what the peer is authorised for is what gets streamed, so declaring a community grants nothing. Omit it entirely to receive every authorised community."
38
+
}
39
+
}
40
+
},
27
41
"description": "Egress-only WebSocket stream of Hums this AppView is relaying. Peers subscribe to receive off-protocol events for shared communities, optionally narrowing to declared `communities` (repeated query param). Requires inter-service auth (subprotocol-carried, as with subscribeEvents). Clients cannot send messages on this stream."
28
42
}
29
43
},
30
44
"$type": "com.atproto.lexicon.schema",
31
45
"lexicon": 1
32
46
}