app.standard-reader.labeler.subscription

standard-reader.app

Schema Diff

+5 -0

From

CID
bafyreibd3hetxnw...
Indexed At
2026-07-26 20:08 UTC
View this version

To

CID
bafyreif75belpve...
Indexed At
2026-07-31 05:24 UTC
View this version

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
}

Compare Other Versions

Lexicon Garden

@