com.getorbyt.notification.defs

getorbyt.com

Schema Diff

+90 -0

From

CID
bafyreih5yf6dkyi...
Indexed At
2026-10-05 14:21 UTC
View this version

To

CID
bafyreiadabwqyj4...
Indexed At
2026-10-08 20:14 UTC
View this version

Compatibility Analysis

Breaking Changes Detected

6 breaking changes, 25 non-breaking changes.

Breaking Changes (6)
  • RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "com.getorbyt.notification.defs#display", src: "com.getorbyt.notification.defs#display", tgt: "com.getorbyt.notification.defs#display.lead", kind: "prop", name: Some("lead") }
  • RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "com.getorbyt.notification.defs#display", src: "com.getorbyt.notification.defs#display", tgt: "com.getorbyt.notification.defs#display.text", kind: "prop", name: Some("text") }
  • RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "com.getorbyt.notification.defs#display", src: "com.getorbyt.notification.defs#display", tgt: "com.getorbyt.notification.defs#display.link", kind: "prop", name: Some("link") }
  • RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "com.getorbyt.notification.defs#displayLink", src: "com.getorbyt.notification.defs#displayLink", tgt: "com.getorbyt.notification.defs#displayLink.byteEnd", kind: "prop", name: Some("byteEnd") }
  • RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "com.getorbyt.notification.defs#displayLink", src: "com.getorbyt.notification.defs#displayLink", tgt: "com.getorbyt.notification.defs#displayLink.uri", kind: "prop", name: Some("uri") }
  • RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "com.getorbyt.notification.defs#displayLink", src: "com.getorbyt.notification.defs#displayLink", tgt: "com.getorbyt.notification.defs#displayLink.byteStart", kind: "prop", name: Some("byteStart") }
Non-Breaking Changes (25)
  • AddedVertex AddedVertex { vertex_id: "com.getorbyt.notification.defs#display" }
  • AddedVertex AddedVertex { vertex_id: "com.getorbyt.notification.defs#display.badge" }
  • AddedVertex AddedVertex { vertex_id: "com.getorbyt.notification.defs#display.lead" }
  • AddedVertex AddedVertex { vertex_id: "com.getorbyt.notification.defs#display.link" }
  • AddedVertex AddedVertex { vertex_id: "com.getorbyt.notification.defs#display.links" }
  • AddedVertex AddedVertex { vertex_id: "com.getorbyt.notification.defs#display.links:items" }
  • AddedVertex AddedVertex { vertex_id: "com.getorbyt.notification.defs#display.text" }
  • AddedVertex AddedVertex { vertex_id: "com.getorbyt.notification.defs#displayLink" }
  • AddedVertex AddedVertex { vertex_id: "com.getorbyt.notification.defs#displayLink.byteEnd" }
  • AddedVertex AddedVertex { vertex_id: "com.getorbyt.notification.defs#displayLink.byteStart" }
  • AddedVertex AddedVertex { vertex_id: "com.getorbyt.notification.defs#displayLink.uri" }
  • AddedVertex AddedVertex { vertex_id: "com.getorbyt.notification.defs#notificationView.authors" }
  • AddedVertex AddedVertex { vertex_id: "com.getorbyt.notification.defs#notificationView.authors:items" }
  • AddedVertex AddedVertex { vertex_id: "com.getorbyt.notification.defs#notificationView.count" }
  • AddedVertex AddedVertex { vertex_id: "com.getorbyt.notification.defs#notificationView.display" }
  • AddedEdge AddedEdge { src: "com.getorbyt.notification.defs#display", tgt: "com.getorbyt.notification.defs#display.badge", kind: "prop", name: Some("badge") }
  • AddedEdge AddedEdge { src: "com.getorbyt.notification.defs#display", tgt: "com.getorbyt.notification.defs#display.links", kind: "prop", name: Some("links") }
  • AddedEdge AddedEdge { src: "com.getorbyt.notification.defs#display.links", tgt: "com.getorbyt.notification.defs#display.links:items", kind: "items", name: None }
  • AddedEdge AddedEdge { src: "com.getorbyt.notification.defs#display.links:items", tgt: "com.getorbyt.notification.defs#displayLink", kind: "ref", name: None }
  • AddedEdge AddedEdge { src: "com.getorbyt.notification.defs#notificationView", tgt: "com.getorbyt.notification.defs#notificationView.authors", kind: "prop", name: Some("authors") }
  • AddedEdge AddedEdge { src: "com.getorbyt.notification.defs#notificationView", tgt: "com.getorbyt.notification.defs#notificationView.count", kind: "prop", name: Some("count") }
  • AddedEdge AddedEdge { src: "com.getorbyt.notification.defs#notificationView", tgt: "com.getorbyt.notification.defs#notificationView.display", kind: "prop", name: Some("display") }
  • AddedEdge AddedEdge { src: "com.getorbyt.notification.defs#notificationView.authors", tgt: "com.getorbyt.notification.defs#notificationView.authors:items", kind: "items", name: None }
  • AddedEdge AddedEdge { src: "com.getorbyt.notification.defs#notificationView.authors:items", tgt: "com.getorbyt.actor.defs#profileView", kind: "ref", name: None }
  • AddedEdge AddedEdge { src: "com.getorbyt.notification.defs#notificationView.display", tgt: "com.getorbyt.notification.defs#display", kind: "ref", name: None }

Migration Guidance

Added Elements

  • AddedVertex { vertex_id: "com.getorbyt.notification.defs#display" }
  • AddedVertex { vertex_id: "com.getorbyt.notification.defs#display.badge" }
  • AddedVertex { vertex_id: "com.getorbyt.notification.defs#display.lead" }
  • AddedVertex { vertex_id: "com.getorbyt.notification.defs#display.link" }
  • AddedVertex { vertex_id: "com.getorbyt.notification.defs#display.links" }
  • AddedVertex { vertex_id: "com.getorbyt.notification.defs#display.links:items" }
  • AddedVertex { vertex_id: "com.getorbyt.notification.defs#display.text" }
  • AddedVertex { vertex_id: "com.getorbyt.notification.defs#displayLink" }
  • AddedVertex { vertex_id: "com.getorbyt.notification.defs#displayLink.byteEnd" }
  • AddedVertex { vertex_id: "com.getorbyt.notification.defs#displayLink.byteStart" }
  • AddedVertex { vertex_id: "com.getorbyt.notification.defs#displayLink.uri" }
  • AddedVertex { vertex_id: "com.getorbyt.notification.defs#notificationView.authors" }
  • AddedVertex { vertex_id: "com.getorbyt.notification.defs#notificationView.authors:items" }
  • AddedVertex { vertex_id: "com.getorbyt.notification.defs#notificationView.count" }
  • AddedVertex { vertex_id: "com.getorbyt.notification.defs#notificationView.display" }

Additional Notes

  • Breaking: RequiredEdgeAdded { vertex_id: "com.getorbyt.notification.defs#displayLink", src: "com.getorbyt.notification.defs#displayLink", tgt: "com.getorbyt.notification.defs#displayLink.byteEnd", kind: "prop", name: Some("byteEnd") }
  • Breaking: RequiredEdgeAdded { vertex_id: "com.getorbyt.notification.defs#displayLink", src: "com.getorbyt.notification.defs#displayLink", tgt: "com.getorbyt.notification.defs#displayLink.uri", kind: "prop", name: Some("uri") }
  • Breaking: RequiredEdgeAdded { vertex_id: "com.getorbyt.notification.defs#displayLink", src: "com.getorbyt.notification.defs#displayLink", tgt: "com.getorbyt.notification.defs#displayLink.byteStart", kind: "prop", name: Some("byteStart") }
  • Breaking: RequiredEdgeAdded { vertex_id: "com.getorbyt.notification.defs#display", src: "com.getorbyt.notification.defs#display", tgt: "com.getorbyt.notification.defs#display.lead", kind: "prop", name: Some("lead") }
  • Breaking: RequiredEdgeAdded { vertex_id: "com.getorbyt.notification.defs#display", src: "com.getorbyt.notification.defs#display", tgt: "com.getorbyt.notification.defs#display.text", kind: "prop", name: Some("text") }
  • Breaking: RequiredEdgeAdded { vertex_id: "com.getorbyt.notification.defs#display", src: "com.getorbyt.notification.defs#display", tgt: "com.getorbyt.notification.defs#display.link", kind: "prop", name: Some("link") }
  • Non-breaking: AddedEdge { src: "com.getorbyt.notification.defs#display", tgt: "com.getorbyt.notification.defs#display.badge", kind: "prop", name: Some("badge") }
  • Non-breaking: AddedEdge { src: "com.getorbyt.notification.defs#display", tgt: "com.getorbyt.notification.defs#display.links", kind: "prop", name: Some("links") }
  • Non-breaking: AddedEdge { src: "com.getorbyt.notification.defs#display.links", tgt: "com.getorbyt.notification.defs#display.links:items", kind: "items", name: None }
  • Non-breaking: AddedEdge { src: "com.getorbyt.notification.defs#display.links:items", tgt: "com.getorbyt.notification.defs#displayLink", kind: "ref", name: None }
  • Non-breaking: AddedEdge { src: "com.getorbyt.notification.defs#notificationView", tgt: "com.getorbyt.notification.defs#notificationView.authors", kind: "prop", name: Some("authors") }
  • Non-breaking: AddedEdge { src: "com.getorbyt.notification.defs#notificationView", tgt: "com.getorbyt.notification.defs#notificationView.count", kind: "prop", name: Some("count") }
  • Non-breaking: AddedEdge { src: "com.getorbyt.notification.defs#notificationView", tgt: "com.getorbyt.notification.defs#notificationView.display", kind: "prop", name: Some("display") }
  • Non-breaking: AddedEdge { src: "com.getorbyt.notification.defs#notificationView.authors", tgt: "com.getorbyt.notification.defs#notificationView.authors:items", kind: "items", name: None }
  • Non-breaking: AddedEdge { src: "com.getorbyt.notification.defs#notificationView.authors:items", tgt: "com.getorbyt.actor.defs#profileView", kind: "ref", name: None }
  • Non-breaking: AddedEdge { src: "com.getorbyt.notification.defs#notificationView.display", tgt: "com.getorbyt.notification.defs#display", kind: "ref", name: None }
1 1
{
2 2
  "$type": "com.atproto.lexicon.schema",
3 3
  "defs": {
4 +
    "display": {
5 +
      "description": "A server-written Activity row.",
6 +
      "properties": {
7 +
        "badge": {
8 +
          "description": "What sits on the lead image's corner: the author's face, up to three faces from `authors`, or the Community's art. Absent means nothing.",
9 +
          "knownValues": [
10 +
            "author",
11 +
            "authors",
12 +
            "community"
13 +
          ],
14 +
          "type": "string"
15 +
        },
16 +
        "lead": {
17 +
          "description": "Whose image leads the row, and whose name heads it: the author's face and handle, or the Community's art and `/name`. The row comes from whoever the reader would say it came from.",
18 +
          "knownValues": [
19 +
            "author",
20 +
            "community"
21 +
          ],
22 +
          "type": "string"
23 +
        },
24 +
        "link": {
25 +
          "description": "What tapping the row opens, as an `orbyt://` link.",
26 +
          "format": "uri",
27 +
          "type": "string"
28 +
        },
29 +
        "links": {
30 +
          "description": "Spans of `text` that open something of their own.",
31 +
          "items": {
32 +
            "ref": "#displayLink",
33 +
            "type": "ref"
34 +
          },
35 +
          "maxLength": 8,
36 +
          "type": "array"
37 +
        },
38 +
        "text": {
39 +
          "description": "The sentence after the row's heading, such as `spotlight.orbyt.video and 2 others joined`.",
40 +
          "maxGraphemes": 300,
41 +
          "maxLength": 600,
42 +
          "type": "string"
43 +
        }
44 +
      },
45 +
      "required": [
46 +
        "lead",
47 +
        "text",
48 +
        "link"
49 +
      ],
50 +
      "type": "object"
51 +
    },
52 +
    "displayLink": {
53 +
      "description": "A span of display text, by UTF-8 byte offsets as rich text facets count them, and what it opens.",
54 +
      "properties": {
55 +
        "byteEnd": {
56 +
          "minimum": 0,
57 +
          "type": "integer"
58 +
        },
59 +
        "byteStart": {
60 +
          "minimum": 0,
61 +
          "type": "integer"
62 +
        },
63 +
        "uri": {
64 +
          "format": "uri",
65 +
          "type": "string"
66 +
        }
67 +
      },
68 +
      "required": [
69 +
        "byteStart",
70 +
        "byteEnd",
71 +
        "uri"
72 +
      ],
73 +
      "type": "object"
74 +
    },
4 75
    "notificationView": {
5 76
      "description": "One Orbyt activity item. Computed when read from Orbyt records and Community service state, never stored.",
6 77
      "properties": {
7 78
        "author": {
8 79
          "ref": "com.getorbyt.actor.defs#profileView",
9 80
          "type": "ref"
10 81
        },
82 +
        "authors": {
83 +
          "description": "The newest distinct authors of a gathered item, newest first; the first is `author`. Absent when the item has one author.",
84 +
          "items": {
85 +
            "ref": "com.getorbyt.actor.defs#profileView",
86 +
            "type": "ref"
87 +
          },
88 +
          "maxLength": 3,
89 +
          "type": "array"
90 +
        },
11 91
        "community": {
12 92
          "description": "The Community a `community*` reason is about. Absent for other reasons, and absent when the Community can no longer be shown.",
13 93
          "ref": "com.getorbyt.community.defs#view",
14 94
          "type": "ref"
15 95
        },
96 +
        "count": {
97 +
          "description": "How many events this item gathers: the joins to one Community in one day, the open reports on one post, or the messages in one Modmail thread. Absent means one. `author` and `indexedAt` are the newest event's.",
98 +
          "minimum": 1,
99 +
          "type": "integer"
100 +
        },
101 +
        "display": {
102 +
          "description": "How the row reads, written by the service so wording, grouping and destinations change without a client release. A client that understands it draws the row from it and keeps its own per-reason wording only for items without one.",
103 +
          "ref": "#display",
104 +
          "type": "ref"
105 +
        },
16 106
        "indexedAt": {
17 107
          "format": "datetime",
18 108
          "type": "string"
19 109
        },
20 110
        "isRead": {
21 111
          "type": "boolean"
22 112
        },
23 113
        "reason": {
24 114
          "description": "`follow`: the author followed the viewer on Orbyt. `followImport`: the author's follow came from importing their network follows, so the network never announced it; clients may group these. `friendJoined`: an account the viewer follows on the connected network joined Orbyt. `communityJoined`: the author joined a Community the viewer administers. `communityPostRemoved`: the author, a moderator, removed the viewer's post from a Community; it stays listed while the post is removed. `communityReport`: the author reported a post in a Community the viewer moderates; it stays listed while the report is open. `communityTransferOffered`: the author offered the viewer ownership of a Community; it stays listed while the offer is pending. `communityModmail`: the author, a member, wrote to the mod team of a Community where the viewer holds manage-mail; it stays listed while the thread is open. `communityModmailReply`: the mod team of a Community answered the viewer's Modmail; the author is the Community's own account, because the reply speaks for the team. A client that mirrors follows to the network may leave out `follow`, which the network already reports. A client renders a reason it does not recognise generically or skips it.",
25 115
          "knownValues": [
26 116
            "follow",
27 117
            "followImport",
28 118
            "friendJoined",
29 119
            "communityJoined",
30 120
            "communityPostRemoved",
31 121
            "communityReport",
32 122
            "communityTransferOffered",
33 123
            "communityModmail",
34 124
            "communityModmailReply"
35 125
          ],
36 126
          "type": "string"
37 127
        },
38 128
        "uri": {
39 129
          "description": "The record behind the item: the follow record; for `friendJoined` the joining account's repository (`at://<did>`); for `communityJoined` the membership record; for `communityPostRemoved` and `communityReport` the post; for `communityTransferOffered`, `communityModmail` and `communityModmailReply` the Community.",
40 130
          "format": "at-uri",
41 131
          "type": "string"
42 132
        }
43 133
      },
44 134
      "required": [
45 135
        "uri",
46 136
        "reason",
47 137
        "author",
48 138
        "isRead",
49 139
        "indexedAt"
50 140
      ],
51 141
      "type": "object"
52 142
    }
53 143
  },
54 144
  "id": "com.getorbyt.notification.defs",
55 145
  "lexicon": 1
56 146
}

Compare Other Versions

Lexicon Garden

@