com.getorbyt.notification.defs

getorbyt.com

Schema Diff

+13 -4

From

CID
bafyreiagrcjqsbf...
Indexed At
2026-09-24 19:31 UTC
View this version

To

CID
bafyreihimmyfaot...
Indexed At
2026-10-05 14:19 UTC
View this version

Compatibility Analysis

Breaking Changes Detected

1 breaking change, 4 non-breaking changes.

Breaking Changes (1)
  • ConstraintTightened ConstraintTightened { vertex_id: "com.getorbyt.notification.defs#notificationView.reason", sort: "knownValues", old_value: "[\"follow\",\"followImport\",\"friendJoined\"]", new_value: "[\"follow\",\"followImport\",\"friendJoined\",\"communityJoined\",\"communityPostRemoved\",\"communityReport\",\"communityTransferOffered\"]" }
Non-Breaking Changes (4)
  • AddedVertex AddedVertex { vertex_id: "com.getorbyt.community.defs#view" }
  • AddedVertex AddedVertex { vertex_id: "com.getorbyt.notification.defs#notificationView.community" }
  • AddedEdge AddedEdge { src: "com.getorbyt.notification.defs#notificationView", tgt: "com.getorbyt.notification.defs#notificationView.community", kind: "prop", name: Some("community") }
  • AddedEdge AddedEdge { src: "com.getorbyt.notification.defs#notificationView.community", tgt: "com.getorbyt.community.defs#view", kind: "ref", name: None }

Migration Guidance

Added Elements

  • AddedVertex { vertex_id: "com.getorbyt.community.defs#view" }
  • AddedVertex { vertex_id: "com.getorbyt.notification.defs#notificationView.community" }

Constraint Changes

  • ConstraintTightened ConstraintTightened { vertex_id: "com.getorbyt.notification.defs#notificationView.reason", sort: "knownValues", old_value: "[\"follow\",\"followImport\",\"friendJoined\"]", new_value: "[\"follow\",\"followImport\",\"friendJoined\",\"communityJoined\",\"communityPostRemoved\",\"communityReport\",\"communityTransferOffered\"]" }

Additional Notes

  • Non-breaking: AddedEdge { src: "com.getorbyt.notification.defs#notificationView", tgt: "com.getorbyt.notification.defs#notificationView.community", kind: "prop", name: Some("community") }
  • Non-breaking: AddedEdge { src: "com.getorbyt.notification.defs#notificationView.community", tgt: "com.getorbyt.community.defs#view", kind: "ref", name: None }
1 1
{
2 2
  "$type": "com.atproto.lexicon.schema",
3 3
  "defs": {
4 4
    "notificationView": {
5 -
      "description": "One Orbyt activity item. Computed from Orbyt records when read, never stored.",
5 +
      "description": "One Orbyt activity item. Computed when read from Orbyt records and Community service state, never stored.",
6 6
      "properties": {
7 7
        "author": {
8 8
          "ref": "com.getorbyt.actor.defs#profileView",
9 9
          "type": "ref"
10 10
        },
11 +
        "community": {
12 +
          "description": "The Community a `community*` reason is about. Absent for other reasons, and absent when the Community can no longer be shown.",
13 +
          "ref": "com.getorbyt.community.defs#view",
14 +
          "type": "ref"
15 +
        },
11 16
        "indexedAt": {
12 17
          "format": "datetime",
13 18
          "type": "string"
14 19
        },
15 20
        "isRead": {
16 21
          "type": "boolean"
17 22
        },
18 23
        "reason": {
19 -
          "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. 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.",
24 +
          "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. 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.",
20 25
          "knownValues": [
21 26
            "follow",
22 27
            "followImport",
23 -
            "friendJoined"
28 +
            "friendJoined",
29 +
            "communityJoined",
30 +
            "communityPostRemoved",
31 +
            "communityReport",
32 +
            "communityTransferOffered"
24 33
          ],
25 34
          "type": "string"
26 35
        },
27 36
        "uri": {
28 -
          "description": "The record behind the item: the follow record, or for `friendJoined` the joining account's repository (`at://<did>`).",
37 +
          "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` the Community.",
29 38
          "format": "at-uri",
30 39
          "type": "string"
31 40
        }
32 41
      },
33 42
      "required": [
34 43
        "uri",
35 44
        "reason",
36 45
        "author",
37 46
        "isRead",
38 47
        "indexedAt"
39 48
      ],
40 49
      "type": "object"
41 50
    }
42 51
  },
43 52
  "id": "com.getorbyt.notification.defs",
44 53
  "lexicon": 1
45 54
}

Compare Other Versions

Lexicon Garden

@