app.didpic.notification.defs
Schema Diff
+12 -14
Compatibility Analysis
Backward Compatible
No changes detected.
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
12
"count",
13
13
"isRead",
14
14
"createdAt",
15
15
"indexedAt"
16
16
],
17
17
"properties": {
18
18
"id": {
19
-
"type": "string",
20
-
"description": "Server-issued opaque identifier for this notification within the recipient's stream."
19
+
"type": "string"
21
20
},
22
21
"post": {
23
22
"ref": "app.didpic.feed.defs#postView",
24
23
"type": "ref",
25
-
"description": "Server-hydrated thread-root post for any reason involving a post (like / comment / reply). Lets clients render a thumbnail preview inline without an extra fetch."
24
+
"description": "Hydrated post view for reasons that involve a post."
26
25
},
27
26
"count": {
28
27
"type": "integer",
29
28
"minimum": 1,
30
-
"description": "Number of underlying records collapsed into this notification. Always 1 for comment / reply / follow; for like notifications it counts repeat likes on the same subject (a viral post that gets many likes produces a single row with count incrementing)."
29
+
"description": "Number of records collapsed into this notification. Always 1 except for likes."
31
30
},
32
31
"author": {
33
32
"ref": "app.didpic.actor.defs#profileBasic",
34
-
"type": "ref",
35
-
"description": "Most recent actor responsible for this notification. For collapsed likes this is the latest liker; the UI typically reads 'author and (count - 1) others ...'."
33
+
"type": "ref"
36
34
},
37
35
"isRead": {
38
-
"type": "boolean",
39
-
"description": "True if this notification's indexedAt is at or before the viewer's stored seenAt boundary."
36
+
"type": "boolean"
40
37
},
41
38
"reason": {
42
39
"type": "string",
43
40
"knownValues": [
44
41
"like",
45
42
"comment",
46
43
"reply",
47
-
"follow"
44
+
"follow",
45
+
"subscribed-post",
46
+
"mention"
48
47
]
49
48
},
50
49
"comment": {
51
50
"ref": "app.didpic.feed.defs#commentView",
52
51
"type": "ref",
53
-
"description": "Server-hydrated comment for cases where the subject is a comment: reply (the parent comment) and like (when the like targets a comment rather than a post). Lets clients render the snippet text inline."
52
+
"description": "Hydrated comment view when the subject is a comment."
54
53
},
55
54
"postUri": {
56
55
"type": "string",
57
56
"format": "at-uri",
58
-
"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."
59
58
},
60
59
"createdAt": {
61
60
"type": "string",
62
61
"format": "datetime"
63
62
},
64
63
"indexedAt": {
65
64
"type": "string",
66
65
"format": "datetime"
67
66
},
68
67
"recordCid": {
69
68
"type": "string",
70
69
"format": "cid"
71
70
},
72
71
"recordUri": {
73
72
"type": "string",
74
-
"format": "at-uri",
75
-
"description": "URI of the most recent underlying interaction record. For collapsed likes earlier likes are not enumerated."
73
+
"format": "at-uri"
76
74
},
77
75
"subjectCid": {
78
76
"type": "string",
79
77
"format": "cid"
80
78
},
81
79
"subjectUri": {
82
80
"type": "string",
83
81
"format": "at-uri",
84
-
"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."
85
83
}
86
84
}
87
85
}
88
86
},
89
87
"$type": "com.atproto.lexicon.schema",
90
88
"lexicon": 1
91
89
}