app.didpic.feed.getFeatured

lexicons.didpic.app

Schema Diff

+20 -7

From

CID
bafyreicpek2nm4m...
Indexed At
2026-05-27 02:33 UTC
View this version

To

CID
bafyreibukmnl6ou...
Indexed At
2026-05-27 04:27 UTC
View this version

Compatibility Analysis

Breaking Changes Detected

4 breaking changes, 6 non-breaking changes.

Breaking Changes (4)
  • RemovedVertex RemovedVertex { vertex_id: "app.didpic.feed.getFeatured:output.post" }
  • RemovedVertex RemovedVertex { vertex_id: "app.didpic.feed.getFeatured:output.post:variant0" }
  • RemovedEdge RemovedEdge { src: "app.didpic.feed.getFeatured:output", tgt: "app.didpic.feed.getFeatured:output.post", kind: "prop", name: Some("post") }
  • RemovedEdge RemovedEdge { src: "app.didpic.feed.getFeatured:output.post", tgt: "app.didpic.feed.getFeatured:output.post:variant0", kind: "variant", name: Some("app.didpic.feed.defs#postView") }
Non-Breaking Changes (6)
  • AddedVertex AddedVertex { vertex_id: "app.didpic.feed.getFeatured:output.posts" }
  • AddedVertex AddedVertex { vertex_id: "app.didpic.feed.getFeatured:output.posts:items" }
  • AddedVertex AddedVertex { vertex_id: "app.didpic.feed.getFeatured:params" }
  • AddedEdge AddedEdge { src: "app.didpic.feed.getFeatured", tgt: "app.didpic.feed.getFeatured:params", kind: "prop", name: Some("parameters") }
  • AddedEdge AddedEdge { src: "app.didpic.feed.getFeatured:output", tgt: "app.didpic.feed.getFeatured:output.posts", kind: "prop", name: Some("posts") }
  • AddedEdge AddedEdge { src: "app.didpic.feed.getFeatured:output.posts", tgt: "app.didpic.feed.getFeatured:output.posts:items", kind: "items", name: None }

Migration Guidance

Removed Elements

  • RemovedVertex { vertex_id: "app.didpic.feed.getFeatured:output.post" }
  • RemovedVertex { vertex_id: "app.didpic.feed.getFeatured:output.post:variant0" }

Added Elements

  • AddedVertex { vertex_id: "app.didpic.feed.getFeatured:output.posts" }
  • AddedVertex { vertex_id: "app.didpic.feed.getFeatured:output.posts:items" }
  • AddedVertex { vertex_id: "app.didpic.feed.getFeatured:params" }

Additional Notes

  • Breaking: RemovedEdge { src: "app.didpic.feed.getFeatured:output", tgt: "app.didpic.feed.getFeatured:output.post", kind: "prop", name: Some("post") }
  • Breaking: RemovedEdge { src: "app.didpic.feed.getFeatured:output.post", tgt: "app.didpic.feed.getFeatured:output.post:variant0", kind: "variant", name: Some("app.didpic.feed.defs#postView") }
  • Non-breaking: AddedEdge { src: "app.didpic.feed.getFeatured", tgt: "app.didpic.feed.getFeatured:params", kind: "prop", name: Some("parameters") }
  • Non-breaking: AddedEdge { src: "app.didpic.feed.getFeatured:output", tgt: "app.didpic.feed.getFeatured:output.posts", kind: "prop", name: Some("posts") }
  • Non-breaking: AddedEdge { src: "app.didpic.feed.getFeatured:output.posts", tgt: "app.didpic.feed.getFeatured:output.posts:items", kind: "items", name: None }
1 1
{
2 2
  "id": "app.didpic.feed.getFeatured",
3 3
  "defs": {
4 4
    "main": {
5 5
      "type": "query",
6 6
      "output": {
7 7
        "schema": {
8 8
          "type": "object",
9 9
          "required": [
10 -
            "post"
10 +
            "posts"
11 11
          ],
12 12
          "properties": {
13 -
            "post": {
14 -
              "refs": [
15 -
                "app.didpic.feed.defs#postView"
16 -
              ],
17 -
              "type": "union"
13 +
            "posts": {
14 +
              "type": "array",
15 +
              "items": {
16 +
                "ref": "app.didpic.feed.defs#postView",
17 +
                "type": "ref"
18 +
              }
18 19
            }
19 20
          }
20 21
        },
21 22
        "encoding": "application/json"
22 23
      },
23 -
      "description": "Single most-recent eligible post from the viewer's following feed. Strictest filter set in the system: no labels (account or post), no discover suppression, no takedowns, no blocks. Designed for OS widgets / Live Activities / any glanceable surface that needs one always-safe image. Returns { post: null } when nothing qualifies rather than 404."
24 +
      "parameters": {
25 +
        "type": "params",
26 +
        "properties": {
27 +
          "limit": {
28 +
            "type": "integer",
29 +
            "default": 1,
30 +
            "maximum": 4,
31 +
            "minimum": 1,
32 +
            "description": "How many posts to return. Clamped 1..4 server-side. Widget consumers pass 1 (small / single layout), 2 (medium pair / large pair), or 4 (large grid)."
33 +
          }
34 +
        }
35 +
      },
36 +
      "description": "Most-recent eligible posts (up to 4) from the viewer's following feed. Strictest filter set in the system: no labels (account or post), no discover suppression, no takedowns, no blocks. Designed for OS widgets / Live Activities / any glanceable surface that needs safe-by-default images. Always returns `{ posts: [] }` (possibly empty) instead of 404."
24 37
    }
25 38
  },
26 39
  "$type": "com.atproto.lexicon.schema",
27 40
  "lexicon": 1
28 41
}

Compare Other Versions

Lexicon Garden

@