app.didpic.actor.defs

lexicons.didpic.app

Schema Diff

+24 -0

From

CID
bafyreigjhrowt7o...
Indexed At
2026-05-18 00:14 UTC
View this version

To

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

Compatibility Analysis

Backward Compatible

Backward compatible. 6 non-breaking changes.

Non-Breaking Changes (6)
  • AddedVertex AddedVertex { vertex_id: "app.didpic.actor.defs#composePrefs" }
  • AddedVertex AddedVertex { vertex_id: "app.didpic.actor.defs#composePrefs.requireAltText" }
  • AddedVertex AddedVertex { vertex_id: "app.didpic.actor.defs#feedFilters" }
  • AddedVertex AddedVertex { vertex_id: "app.didpic.actor.defs#feedFilters.hideNoAltText" }
  • AddedEdge AddedEdge { src: "app.didpic.actor.defs#composePrefs", tgt: "app.didpic.actor.defs#composePrefs.requireAltText", kind: "prop", name: Some("requireAltText") }
  • AddedEdge AddedEdge { src: "app.didpic.actor.defs#feedFilters", tgt: "app.didpic.actor.defs#feedFilters.hideNoAltText", kind: "prop", name: Some("hideNoAltText") }

Migration Guidance

Added Elements

  • AddedVertex { vertex_id: "app.didpic.actor.defs#composePrefs" }
  • AddedVertex { vertex_id: "app.didpic.actor.defs#composePrefs.requireAltText" }
  • AddedVertex { vertex_id: "app.didpic.actor.defs#feedFilters" }
  • AddedVertex { vertex_id: "app.didpic.actor.defs#feedFilters.hideNoAltText" }

Additional Notes

  • Non-breaking: AddedEdge { src: "app.didpic.actor.defs#composePrefs", tgt: "app.didpic.actor.defs#composePrefs.requireAltText", kind: "prop", name: Some("requireAltText") }
  • Non-breaking: AddedEdge { src: "app.didpic.actor.defs#feedFilters", tgt: "app.didpic.actor.defs#feedFilters.hideNoAltText", kind: "prop", name: Some("hideNoAltText") }
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 +
    "feedFilters": {
34 +
      "type": "object",
35 +
      "required": [
36 +
        "hideNoAltText"
37 +
      ],
38 +
      "properties": {
39 +
        "hideNoAltText": {
40 +
          "type": "boolean"
41 +
        }
42 +
      },
43 +
      "description": "Viewer-side feed filtering options."
44 +
    },
33 45
    "profileView": {
34 46
      "type": "object",
35 47
      "required": [
36 48
        "did"
37 49
      ],
38 50
      "properties": {
39 51
        "did": {
40 52
          "type": "string",
41 53
          "format": "did"
42 54
        },
43 55
        "handle": {
44 56
          "type": "string",
45 57
          "format": "handle"
46 58
        },
47 59
        "avatarCid": {
48 60
          "type": "string",
49 61
          "format": "cid"
50 62
        },
51 63
        "bannerCid": {
52 64
          "type": "string",
53 65
          "format": "cid"
54 66
        },
55 67
        "indexedAt": {
56 68
          "type": "string",
57 69
          "format": "datetime"
58 70
        },
59 71
        "likesCount": {
60 72
          "type": "integer",
61 73
          "minimum": 0
62 74
        },
63 75
        "postsCount": {
64 76
          "type": "integer",
65 77
          "minimum": 0
66 78
        },
67 79
        "description": {
68 80
          "type": "string",
69 81
          "maxLength": 2560,
70 82
          "maxGraphemes": 256
71 83
        },
72 84
        "displayName": {
73 85
          "type": "string",
74 86
          "maxLength": 640,
75 87
          "maxGraphemes": 64
76 88
        },
77 89
        "followsCount": {
78 90
          "type": "integer",
79 91
          "minimum": 0
80 92
        },
81 93
        "followersCount": {
82 94
          "type": "integer",
83 95
          "minimum": 0
84 96
        },
85 97
        "viewerFollowing": {
86 98
          "type": "string",
87 99
          "format": "at-uri",
88 100
          "description": "URI of the viewer's follow record for this actor, if any."
89 101
        }
90 102
      },
91 103
      "description": "Full profile view."
92 104
    },
105 +
    "composePrefs": {
106 +
      "type": "object",
107 +
      "required": [
108 +
        "requireAltText"
109 +
      ],
110 +
      "properties": {
111 +
        "requireAltText": {
112 +
          "type": "boolean"
113 +
        }
114 +
      },
115 +
      "description": "Compose-time enforcement options."
116 +
    },
93 117
    "profileBasic": {
94 118
      "type": "object",
95 119
      "required": [
96 120
        "did"
97 121
      ],
98 122
      "properties": {
99 123
        "did": {
100 124
          "type": "string",
101 125
          "format": "did"
102 126
        },
103 127
        "handle": {
104 128
          "type": "string",
105 129
          "format": "handle"
106 130
        },
107 131
        "avatarCid": {
108 132
          "type": "string",
109 133
          "format": "cid"
110 134
        },
111 135
        "displayName": {
112 136
          "type": "string",
113 137
          "maxLength": 640,
114 138
          "maxGraphemes": 64
115 139
        },
116 140
        "viewerFollowing": {
117 141
          "type": "string",
118 142
          "format": "at-uri",
119 143
          "description": "URI of the viewer's follow record for this actor, if any."
120 144
        }
121 145
      },
122 146
      "description": "Minimal profile info embedded inside other views."
123 147
    }
124 148
  },
125 149
  "$type": "com.atproto.lexicon.schema",
126 150
  "lexicon": 1
127 151
}

Compare Other Versions

Lexicon Garden

@