app.didpic.notification.defs

lexicons.didpic.app

Schema Diff

+24 -9

From

CID
bafyreianj477oaj...
Indexed At
2026-05-16 06:40 UTC
View this version

To

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

Compatibility Analysis

Breaking Changes Detected

1 breaking change, 6 non-breaking changes.

Breaking Changes (1)
  • ConstraintAdded ConstraintAdded { vertex_id: "app.didpic.notification.defs#notificationView.count", sort: "minimum", value: "1" }
Non-Breaking Changes (6)
  • AddedVertex AddedVertex { vertex_id: "app.didpic.notification.defs#notificationView.comment" }
  • AddedVertex AddedVertex { vertex_id: "app.didpic.notification.defs#notificationView.count" }
  • AddedVertex AddedVertex { vertex_id: "app.didpic.notification.defs#notificationView.post" }
  • AddedEdge AddedEdge { src: "app.didpic.notification.defs#notificationView", tgt: "app.didpic.notification.defs#notificationView.comment", kind: "prop", name: Some("comment") }
  • AddedEdge AddedEdge { src: "app.didpic.notification.defs#notificationView", tgt: "app.didpic.notification.defs#notificationView.count", kind: "prop", name: Some("count") }
  • AddedEdge AddedEdge { src: "app.didpic.notification.defs#notificationView", tgt: "app.didpic.notification.defs#notificationView.post", kind: "prop", name: Some("post") }

Migration Guidance

Added Elements

  • AddedVertex { vertex_id: "app.didpic.notification.defs#notificationView.comment" }
  • AddedVertex { vertex_id: "app.didpic.notification.defs#notificationView.count" }
  • AddedVertex { vertex_id: "app.didpic.notification.defs#notificationView.post" }

Constraint Changes

  • ConstraintAdded ConstraintAdded { vertex_id: "app.didpic.notification.defs#notificationView.count", sort: "minimum", value: "1" }

Additional Notes

  • Non-breaking: AddedEdge { src: "app.didpic.notification.defs#notificationView", tgt: "app.didpic.notification.defs#notificationView.comment", kind: "prop", name: Some("comment") }
  • Non-breaking: AddedEdge { src: "app.didpic.notification.defs#notificationView", tgt: "app.didpic.notification.defs#notificationView.count", kind: "prop", name: Some("count") }
  • Non-breaking: AddedEdge { src: "app.didpic.notification.defs#notificationView", tgt: "app.didpic.notification.defs#notificationView.post", kind: "prop", name: Some("post") }
1 1
{
2 2
  "id": "app.didpic.notification.defs",
3 3
  "defs": {
4 4
    "notificationView": {
5 5
      "type": "object",
6 6
      "required": [
7 7
        "id",
8 8
        "reason",
9 9
        "author",
10 10
        "recordUri",
11 11
        "recordCid",
12 +
        "count",
12 13
        "isRead",
13 14
        "createdAt",
14 15
        "indexedAt"
15 16
      ],
16 17
      "properties": {
17 18
        "id": {
18 -
          "type": "string",
19 -
          "description": "Server-issued opaque identifier for this notification within the recipient's stream."
19 +
          "type": "string"
20 +
        },
21 +
        "post": {
22 +
          "ref": "app.didpic.feed.defs#postView",
23 +
          "type": "ref",
24 +
          "description": "Hydrated post view for reasons that involve a post."
20 25
        },
26 +
        "count": {
27 +
          "type": "integer",
28 +
          "minimum": 1,
29 +
          "description": "Number of records collapsed into this notification. Always 1 except for likes."
30 +
        },
21 31
        "author": {
22 32
          "ref": "app.didpic.actor.defs#profileBasic",
23 33
          "type": "ref"
24 34
        },
25 35
        "isRead": {
26 -
          "type": "boolean",
27 -
          "description": "True if this notification's indexedAt is at or before the viewer's stored seenAt boundary."
36 +
          "type": "boolean"
28 37
        },
29 38
        "reason": {
30 39
          "type": "string",
31 40
          "knownValues": [
32 41
            "like",
33 42
            "comment",
34 43
            "reply",
35 -
            "follow"
44 +
            "follow",
45 +
            "subscribed-post",
46 +
            "mention"
36 47
          ]
37 48
        },
49 +
        "comment": {
50 +
          "ref": "app.didpic.feed.defs#commentView",
51 +
          "type": "ref",
52 +
          "description": "Hydrated comment view when the subject is a comment."
53 +
        },
38 54
        "postUri": {
39 55
          "type": "string",
40 56
          "format": "at-uri",
41 -
          "description": "Denormalised thread-root post URI for all post-context reasons (like / comment / reply). Lets clients route directly to the post view without a lookup. Absent for follow notifications."
57 +
          "description": "Thread-root post URI for post-context reasons. Absent for follow."
42 58
        },
43 59
        "createdAt": {
44 60
          "type": "string",
45 61
          "format": "datetime"
46 62
        },
47 63
        "indexedAt": {
48 64
          "type": "string",
49 65
          "format": "datetime"
50 66
        },
51 67
        "recordCid": {
52 68
          "type": "string",
53 69
          "format": "cid"
54 70
        },
55 71
        "recordUri": {
56 72
          "type": "string",
57 -
          "format": "at-uri",
58 -
          "description": "URI of the underlying interaction record (like, comment, or follow)."
73 +
          "format": "at-uri"
59 74
        },
60 75
        "subjectCid": {
61 76
          "type": "string",
62 77
          "format": "cid"
63 78
        },
64 79
        "subjectUri": {
65 80
          "type": "string",
66 81
          "format": "at-uri",
67 -
          "description": "URI of the thing the interaction targeted: post for top-level comments and post-likes, comment for comment-likes and replies. Absent for follow notifications."
82 +
          "description": "URI of the target record. Post for post-likes and top-level comments, comment for comment-likes and replies. Absent for follow."
68 83
        }
69 84
      }
70 85
    }
71 86
  },
72 87
  "$type": "com.atproto.lexicon.schema",
73 88
  "lexicon": 1
74 89
}

Compare Other Versions

Lexicon Garden

@