app.didpic.actor.defs

lexicons.didpic.app

Schema Diff

+4 -0

From

CID
bafyreihjl6nswcj...
Indexed At
2026-05-18 08:18 UTC
View this version

To

CID
bafyreida5r6ybo6...
Indexed At
2026-05-18 08:37 UTC
View this version

Compatibility Analysis

Backward Compatible

Backward compatible. 2 non-breaking changes.

Non-Breaking Changes (2)
  • AddedVertex AddedVertex { vertex_id: "app.didpic.actor.defs#profileView.viewerSubscription" }
  • AddedEdge AddedEdge { src: "app.didpic.actor.defs#profileView", tgt: "app.didpic.actor.defs#profileView.viewerSubscription", kind: "prop", name: Some("viewerSubscription") }

Migration Guidance

Added Elements

  • AddedVertex { vertex_id: "app.didpic.actor.defs#profileView.viewerSubscription" }

Additional Notes

  • Non-breaking: AddedEdge { src: "app.didpic.actor.defs#profileView", tgt: "app.didpic.actor.defs#profileView.viewerSubscription", kind: "prop", name: Some("viewerSubscription") }
1 1
{
2 2
  "id": "app.didpic.actor.defs",
3 3
  "defs": {
4 4
    "feedPref": {
5 5
      "type": "object",
6 6
      "required": [
7 7
        "value"
8 8
      ],
9 9
      "properties": {
10 10
        "value": {
11 11
          "type": "string",
12 12
          "knownValues": [
13 13
            "home",
14 14
            "discover"
15 15
          ]
16 16
        }
17 17
      },
18 18
      "description": "Last-selected home feed."
19 19
    },
20 20
    "labelPrefs": {
21 21
      "type": "object",
22 22
      "required": [
23 23
        "labels"
24 24
      ],
25 25
      "properties": {
26 26
        "labels": {
27 27
          "type": "unknown",
28 28
          "description": "Map of label id to action ('hide' | 'blur' | 'show')."
29 29
        }
30 30
      },
31 31
      "description": "Per-label moderation preferences."
32 32
    },
33 33
    "feedFilters": {
34 34
      "type": "object",
35 35
      "required": [
36 36
        "hideNoAltText"
37 37
      ],
38 38
      "properties": {
39 39
        "hideNoAltText": {
40 40
          "type": "boolean"
41 41
        }
42 42
      },
43 43
      "description": "Viewer-side feed filtering options."
44 44
    },
45 45
    "profileView": {
46 46
      "type": "object",
47 47
      "required": [
48 48
        "did"
49 49
      ],
50 50
      "properties": {
51 51
        "did": {
52 52
          "type": "string",
53 53
          "format": "did"
54 54
        },
55 55
        "handle": {
56 56
          "type": "string",
57 57
          "format": "handle"
58 58
        },
59 59
        "avatarCid": {
60 60
          "type": "string",
61 61
          "format": "cid"
62 62
        },
63 63
        "bannerCid": {
64 64
          "type": "string",
65 65
          "format": "cid"
66 66
        },
67 67
        "indexedAt": {
68 68
          "type": "string",
69 69
          "format": "datetime"
70 70
        },
71 71
        "likesCount": {
72 72
          "type": "integer",
73 73
          "minimum": 0
74 74
        },
75 75
        "postsCount": {
76 76
          "type": "integer",
77 77
          "minimum": 0
78 78
        },
79 79
        "description": {
80 80
          "type": "string",
81 81
          "maxLength": 2560,
82 82
          "maxGraphemes": 256
83 83
        },
84 84
        "displayName": {
85 85
          "type": "string",
86 86
          "maxLength": 640,
87 87
          "maxGraphemes": 64
88 88
        },
89 89
        "followsCount": {
90 90
          "type": "integer",
91 91
          "minimum": 0
92 92
        },
93 93
        "followersCount": {
94 94
          "type": "integer",
95 95
          "minimum": 0
96 96
        },
97 97
        "viewerFollowing": {
98 98
          "type": "string",
99 99
          "format": "at-uri",
100 100
          "description": "URI of the viewer's follow record for this actor, if any."
101 +
        },
102 +
        "viewerSubscription": {
103 +
          "type": "boolean",
104 +
          "description": "Whether the viewer is subscribed to this actor's post alerts."
101 105
        }
102 106
      },
103 107
      "description": "Full profile view."
104 108
    },
105 109
    "composePrefs": {
106 110
      "type": "object",
107 111
      "required": [
108 112
        "requireAltText"
109 113
      ],
110 114
      "properties": {
111 115
        "requireAltText": {
112 116
          "type": "boolean"
113 117
        }
114 118
      },
115 119
      "description": "Compose-time enforcement options."
116 120
    },
117 121
    "profileBasic": {
118 122
      "type": "object",
119 123
      "required": [
120 124
        "did"
121 125
      ],
122 126
      "properties": {
123 127
        "did": {
124 128
          "type": "string",
125 129
          "format": "did"
126 130
        },
127 131
        "handle": {
128 132
          "type": "string",
129 133
          "format": "handle"
130 134
        },
131 135
        "avatarCid": {
132 136
          "type": "string",
133 137
          "format": "cid"
134 138
        },
135 139
        "displayName": {
136 140
          "type": "string",
137 141
          "maxLength": 640,
138 142
          "maxGraphemes": 64
139 143
        },
140 144
        "viewerFollowing": {
141 145
          "type": "string",
142 146
          "format": "at-uri",
143 147
          "description": "URI of the viewer's follow record for this actor, if any."
144 148
        }
145 149
      },
146 150
      "description": "Minimal profile info embedded inside other views."
147 151
    }
148 152
  },
149 153
  "$type": "com.atproto.lexicon.schema",
150 154
  "lexicon": 1
151 155
}

Compare Other Versions

Lexicon Garden

@