app.didpic.notification.updateSeen
Schema Diff
+18 -2
Compatibility Analysis
Backward Compatible
Backward compatible. 6 non-breaking changes.
Non-Breaking Changes (6)
- AddedVertex AddedVertex { vertex_id: "app.didpic.notification.updateSeen:input.token" }
- AddedVertex AddedVertex { vertex_id: "app.didpic.notification.updateSeen:output" }
- AddedVertex AddedVertex { vertex_id: "app.didpic.notification.updateSeen:output.badge" }
- AddedEdge AddedEdge { src: "app.didpic.notification.updateSeen", tgt: "app.didpic.notification.updateSeen:output", kind: "prop", name: Some("output") }
- AddedEdge AddedEdge { src: "app.didpic.notification.updateSeen:input", tgt: "app.didpic.notification.updateSeen:input.token", kind: "prop", name: Some("token") }
- AddedEdge AddedEdge { src: "app.didpic.notification.updateSeen:output", tgt: "app.didpic.notification.updateSeen:output.badge", kind: "prop", name: Some("badge") }
Migration Guidance
Added Elements
AddedVertex { vertex_id: "app.didpic.notification.updateSeen:input.token" }AddedVertex { vertex_id: "app.didpic.notification.updateSeen:output" }AddedVertex { vertex_id: "app.didpic.notification.updateSeen:output.badge" }
Additional Notes
- Non-breaking: AddedEdge { src: "app.didpic.notification.updateSeen", tgt: "app.didpic.notification.updateSeen:output", kind: "prop", name: Some("output") }
- Non-breaking: AddedEdge { src: "app.didpic.notification.updateSeen:input", tgt: "app.didpic.notification.updateSeen:input.token", kind: "prop", name: Some("token") }
- Non-breaking: AddedEdge { src: "app.didpic.notification.updateSeen:output", tgt: "app.didpic.notification.updateSeen:output.badge", kind: "prop", name: Some("badge") }
1
1
{
2
2
"$type": "com.atproto.lexicon.schema",
3
3
"defs": {
4
4
"main": {
5
-
"description": "Push the authenticated viewer's notification seenAt boundary forward. Server-enforced monotonic: a stale or out-of-order client call with an older seenAt is a no-op, not a regression.",
5
+
"description": "Mark notifications as seen up to seenAt.",
6
6
"input": {
7
7
"encoding": "application/json",
8
8
"schema": {
9
9
"properties": {
10
10
"seenAt": {
11
-
"description": "Timestamp indicating everything indexed at or before this moment has been seen. Clients should echo back the serverTime returned by listNotifications rather than using a locally-computed `now`.",
12
11
"format": "datetime",
13
12
"type": "string"
13
+
},
14
+
"token": {
15
+
"description": "Caller's push token. When supplied and bound to the viewer, the response carries the post-update device badge.",
16
+
"type": "string"
14
17
}
15
18
},
16
19
"required": [
17
20
"seenAt"
18
21
],
19
22
"type": "object"
20
23
}
21
24
},
25
+
"output": {
26
+
"encoding": "application/json",
27
+
"schema": {
28
+
"properties": {
29
+
"badge": {
30
+
"description": "Device-wide unread sum across every DID bound to the supplied token.",
31
+
"minimum": 0,
32
+
"type": "integer"
33
+
}
34
+
},
35
+
"type": "object"
36
+
}
37
+
},
22
38
"type": "procedure"
23
39
}
24
40
},
25
41
"id": "app.didpic.notification.updateSeen",
26
42
"lexicon": 1
27
43
}