app.didpic.feed.post

lexicons.didpic.app

Schema Diff

+13 -6

From

CID
bafyreiet5ejgxkx...
Indexed At
2026-05-17 03:23 UTC
View this version

To

CID
bafyreifewdvpyds...
Indexed At
2026-05-24 01:15 UTC
View this version

Compatibility Analysis

Backward Compatible

Backward compatible. 4 non-breaking changes.

Non-Breaking Changes (4)
  • AddedVertex AddedVertex { vertex_id: "app.didpic.feed.post:body.facets" }
  • AddedVertex AddedVertex { vertex_id: "app.didpic.feed.post:body.facets:items" }
  • AddedEdge AddedEdge { src: "app.didpic.feed.post:body", tgt: "app.didpic.feed.post:body.facets", kind: "prop", name: Some("facets") }
  • AddedEdge AddedEdge { src: "app.didpic.feed.post:body.facets", tgt: "app.didpic.feed.post:body.facets:items", kind: "items", name: None }

Migration Guidance

Added Elements

  • AddedVertex { vertex_id: "app.didpic.feed.post:body.facets" }
  • AddedVertex { vertex_id: "app.didpic.feed.post:body.facets:items" }

Additional Notes

  • Non-breaking: AddedEdge { src: "app.didpic.feed.post:body", tgt: "app.didpic.feed.post:body.facets", kind: "prop", name: Some("facets") }
  • Non-breaking: AddedEdge { src: "app.didpic.feed.post:body.facets", tgt: "app.didpic.feed.post:body.facets:items", kind: "items", name: None }
1 1
{
2 2
  "id": "app.didpic.feed.post",
3 3
  "defs": {
4 4
    "main": {
5 5
      "key": "tid",
6 6
      "type": "record",
7 7
      "record": {
8 8
        "type": "object",
9 9
        "required": [
10 10
          "image",
11 11
          "createdAt"
12 12
        ],
13 13
        "properties": {
14 14
          "alt": {
15 15
            "type": "string",
16 16
            "maxLength": 10000,
17 -
            "description": "Alt text describing the image for accessibility.",
17 +
            "description": "Alt text for accessibility.",
18 18
            "maxGraphemes": 1000
19 19
          },
20 20
          "text": {
21 21
            "type": "string",
22 22
            "maxLength": 22000,
23 -
            "description": "Caption text. May be empty.",
23 +
            "description": "Caption text.",
24 24
            "maxGraphemes": 2200
25 25
          },
26 26
          "image": {
27 27
            "type": "blob",
28 28
            "accept": [
29 29
              "image/png",
30 30
              "image/jpeg",
31 31
              "image/webp"
32 32
            ],
33 33
            "maxSize": 5000000
34 34
          },
35 +
          "facets": {
36 +
            "type": "array",
37 +
            "items": {
38 +
              "ref": "app.didpic.richtext.facet",
39 +
              "type": "ref"
40 +
            }
41 +
          },
35 42
          "labels": {
36 43
            "ref": "#selfLabels",
37 44
            "type": "ref",
38 -
            "description": "Self-applied content labels (e.g. nsfw). Lowercase identifiers; the union of self-labels and server-applied labels drives the viewer's hide/blur/show decision."
45 +
            "description": "Self-applied content labels."
39 46
          },
40 47
          "createdAt": {
41 48
            "type": "string",
42 49
            "format": "datetime"
43 50
          },
44 51
          "aspectRatio": {
45 52
            "ref": "#aspectRatio",
46 53
            "type": "ref"
47 54
          }
48 55
        }
49 56
      },
50 -
      "description": "A didpic post: a single photo with an optional caption. Old-school photo-feed style — one image per post, no carousels."
57 +
      "description": "A single-image photo post with optional caption."
51 58
    },
52 59
    "selfLabel": {
53 60
      "type": "object",
54 61
      "required": [
55 62
        "val"
56 63
      ],
57 64
      "properties": {
58 65
        "val": {
59 66
          "type": "string",
60 67
          "maxLength": 128
61 68
        }
62 69
      }
63 70
    },
64 71
    "selfLabels": {
65 72
      "type": "object",
66 73
      "properties": {
67 74
        "values": {
68 75
          "type": "array",
69 76
          "items": {
70 77
            "ref": "#selfLabel",
71 78
            "type": "ref"
72 79
          }
73 80
        }
74 81
      },
75 -
      "description": "Self-applied label set. Matches the shape of com.atproto.label.defs#selfLabels so labeling tooling and viewers can interoperate."
82 +
      "description": "Self-applied label set."
76 83
    },
77 84
    "aspectRatio": {
78 85
      "type": "object",
79 86
      "required": [
80 87
        "width",
81 88
        "height"
82 89
      ],
83 90
      "properties": {
84 91
        "width": {
85 92
          "type": "integer",
86 93
          "minimum": 1
87 94
        },
88 95
        "height": {
89 96
          "type": "integer",
90 97
          "minimum": 1
91 98
        }
92 99
      },
93 -
      "description": "Width:height ratio of the image in pixels. Used by clients to reserve layout space."
100 +
      "description": "Image width:height in pixels."
94 101
    }
95 102
  },
96 103
  "$type": "com.atproto.lexicon.schema",
97 104
  "lexicon": 1
98 105
}

Compare Other Versions

Lexicon Garden

@