app.standard-reader.labeler.subscription
Schema Diff
+5 -0
Compatibility Analysis
Backward Compatible
Backward compatible. 2 non-breaking changes.
Non-Breaking Changes (2)
- AddedVertex AddedVertex { vertex_id: "app.standard-reader.labeler.subscription:body.enabled" }
- AddedEdge AddedEdge { src: "app.standard-reader.labeler.subscription:body", tgt: "app.standard-reader.labeler.subscription:body.enabled", kind: "prop", name: Some("enabled") }
Migration Guidance
Added Elements
AddedVertex { vertex_id: "app.standard-reader.labeler.subscription:body.enabled" }
Additional Notes
- Non-breaking: AddedEdge { src: "app.standard-reader.labeler.subscription:body", tgt: "app.standard-reader.labeler.subscription:body.enabled", kind: "prop", name: Some("enabled") }
1
1
{
2
2
"$type": "com.atproto.lexicon.schema",
3
3
"defs": {
4
4
"labelPref": {
5
5
"description": "How the reader wants a single label value from this labeler treated.",
6
6
"properties": {
7
7
"val": {
8
8
"description": "The label value this preference applies to.",
9
9
"maxLength": 128,
10
10
"type": "string"
11
11
},
12
12
"visibility": {
13
13
"description": "ignore = show normally; warn = content warning / blur; hide = filter out.",
14
14
"knownValues": [
15
15
"ignore",
16
16
"warn",
17
17
"hide"
18
18
],
19
19
"maxLength": 16,
20
20
"type": "string"
21
21
}
22
22
},
23
23
"required": [
24
24
"val",
25
25
"visibility"
26
26
],
27
27
"type": "object"
28
28
},
29
29
"main": {
30
30
"description": "Subscribes the reader to a labeler service (like adding a Bluesky moderation service). Presence of the record means subscribed; deleting it unsubscribes. The rkey is derived from the labeler DID so each labeler maps to a single record. Successor to app.standard-reader.labelerSubscription, nested under the labeler NSID group.",
31
31
"key": "any",
32
32
"record": {
33
33
"properties": {
34
34
"createdAt": {
35
35
"description": "When the reader subscribed to the labeler.",
36
36
"format": "datetime",
37
37
"type": "string"
38
38
},
39
+
"enabled": {
40
+
"default": true,
41
+
"description": "Whether this labeler's labels are applied while reading. `false` keeps the subscription (and its per-label preferences) but stops the labeler acting here — for a labeler the reader wants on another app but not this one. Absent means enabled.",
42
+
"type": "boolean"
43
+
},
39
44
"labeler": {
40
45
"description": "DID of the labeler service being subscribed to.",
41
46
"format": "did",
42
47
"type": "string"
43
48
},
44
49
"labels": {
45
50
"description": "Per-label visibility overrides for this labeler's label values.",
46
51
"items": {
47
52
"ref": "#labelPref",
48
53
"type": "ref"
49
54
},
50
55
"type": "array"
51
56
}
52
57
},
53
58
"required": [
54
59
"labeler",
55
60
"createdAt"
56
61
],
57
62
"type": "object"
58
63
},
59
64
"type": "record"
60
65
}
61
66
},
62
67
"id": "app.standard-reader.labeler.subscription",
63
68
"lexicon": 1
64
69
}