com.getorbyt.notification.defs
Schema Diff
+13 -4
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
}