app.didpic.chat.defs

lexicons.didpic.app

Schema Diff

+9 -0

From

CID
bafyreihwfwlzryx...
Indexed At
2026-10-10 22:50 UTC
View this version

To

CID
bafyreidkaosir37...
Indexed At
2026-10-11 00:41 UTC
View this version

Compatibility Analysis

Backward Compatible

Backward compatible. 4 non-breaking changes.

Non-Breaking Changes (4)
  • AddedVertex AddedVertex { vertex_id: "app.didpic.chat.defs#conversationView.muted" }
  • AddedVertex AddedVertex { vertex_id: "app.didpic.chat.defs#conversationView.otherLastReadAt" }
  • AddedEdge AddedEdge { src: "app.didpic.chat.defs#conversationView", tgt: "app.didpic.chat.defs#conversationView.muted", kind: "prop", name: Some("muted") }
  • AddedEdge AddedEdge { src: "app.didpic.chat.defs#conversationView", tgt: "app.didpic.chat.defs#conversationView.otherLastReadAt", kind: "prop", name: Some("otherLastReadAt") }

Migration Guidance

Added Elements

  • AddedVertex { vertex_id: "app.didpic.chat.defs#conversationView.muted" }
  • AddedVertex { vertex_id: "app.didpic.chat.defs#conversationView.otherLastReadAt" }

Additional Notes

  • Non-breaking: AddedEdge { src: "app.didpic.chat.defs#conversationView", tgt: "app.didpic.chat.defs#conversationView.muted", kind: "prop", name: Some("muted") }
  • Non-breaking: AddedEdge { src: "app.didpic.chat.defs#conversationView", tgt: "app.didpic.chat.defs#conversationView.otherLastReadAt", kind: "prop", name: Some("otherLastReadAt") }
1 1
{
2 2
  "$type": "com.atproto.lexicon.schema",
3 3
  "defs": {
4 4
    "conversationView": {
5 5
      "properties": {
6 6
        "createdAt": {
7 7
          "format": "datetime",
8 8
          "type": "string"
9 9
        },
10 10
        "id": {
11 11
          "type": "string"
12 12
        },
13 13
        "lastMessageAt": {
14 14
          "format": "datetime",
15 15
          "type": "string"
16 16
        },
17 17
        "lastMessagePreview": {
18 18
          "type": "string"
19 19
        },
20 +
        "muted": {
21 +
          "description": "True if the viewer has muted this conversation (app.didpic.chat.setMuted) - push notifications only, unread counts are unaffected.",
22 +
          "type": "boolean"
23 +
        },
24 +
        "otherLastReadAt": {
25 +
          "description": "The other participant's last_read_at, for a 1:1 'Seen' indicator. Only present when participantCount is 2.",
26 +
          "format": "datetime",
27 +
          "type": "string"
28 +
        },
20 29
        "participantCount": {
21 30
          "maximum": 10,
22 31
          "minimum": 2,
23 32
          "type": "integer"
24 33
        },
25 34
        "participants": {
26 35
          "items": {
27 36
            "ref": "app.didpic.actor.defs#profileBasic",
28 37
            "type": "ref"
29 38
          },
30 39
          "type": "array"
31 40
        },
32 41
        "unreadCount": {
33 42
          "minimum": 0,
34 43
          "type": "integer"
35 44
        },
36 45
        "viewerBlocked": {
37 46
          "description": "True only when participantCount is 2 and a block exists either direction between the viewer and the other participant - the conversation is frozen, no new messages can be sent.",
38 47
          "type": "boolean"
39 48
        }
40 49
      },
41 50
      "required": [
42 51
        "id",
43 52
        "participants",
44 53
        "participantCount",
45 54
        "createdAt"
46 55
      ],
47 56
      "type": "object"
48 57
    },
49 58
    "messageView": {
50 59
      "properties": {
51 60
        "author": {
52 61
          "ref": "app.didpic.actor.defs#profileBasic",
53 62
          "type": "ref"
54 63
        },
55 64
        "conversationId": {
56 65
          "type": "string"
57 66
        },
58 67
        "createdAt": {
59 68
          "format": "datetime",
60 69
          "type": "string"
61 70
        },
62 71
        "id": {
63 72
          "type": "string"
64 73
        },
65 74
        "imageHeight": {
66 75
          "type": "integer"
67 76
        },
68 77
        "imageUrl": {
69 78
          "type": "string"
70 79
        },
71 80
        "imageWidth": {
72 81
          "type": "integer"
73 82
        },
74 83
        "reactions": {
75 84
          "items": {
76 85
            "ref": "app.didpic.chat.defs#reactionSummary",
77 86
            "type": "ref"
78 87
          },
79 88
          "type": "array"
80 89
        },
81 90
        "replyTo": {
82 91
          "ref": "app.didpic.chat.defs#replyPreview",
83 92
          "type": "ref"
84 93
        },
85 94
        "sharedPost": {
86 95
          "ref": "app.didpic.feed.defs#postView",
87 96
          "type": "ref"
88 97
        },
89 98
        "sharedPostUnavailable": {
90 99
          "description": "True when this message shared a post that has since been deleted/taken down - sharedPost is omitted in that case.",
91 100
          "type": "boolean"
92 101
        },
93 102
        "takedown": {
94 103
          "type": "boolean"
95 104
        },
96 105
        "text": {
97 106
          "type": "string"
98 107
        }
99 108
      },
100 109
      "required": [
101 110
        "id",
102 111
        "conversationId",
103 112
        "author",
104 113
        "createdAt"
105 114
      ],
106 115
      "type": "object"
107 116
    },
108 117
    "reactionSummary": {
109 118
      "properties": {
110 119
        "count": {
111 120
          "minimum": 1,
112 121
          "type": "integer"
113 122
        },
114 123
        "reaction": {
115 124
          "type": "string"
116 125
        },
117 126
        "viewerReacted": {
118 127
          "type": "boolean"
119 128
        }
120 129
      },
121 130
      "required": [
122 131
        "reaction",
123 132
        "count",
124 133
        "viewerReacted"
125 134
      ],
126 135
      "type": "object"
127 136
    },
128 137
    "replyPreview": {
129 138
      "properties": {
130 139
        "authorDid": {
131 140
          "type": "string"
132 141
        },
133 142
        "id": {
134 143
          "type": "string"
135 144
        },
136 145
        "imageHeight": {
137 146
          "type": "integer"
138 147
        },
139 148
        "imageUrl": {
140 149
          "type": "string"
141 150
        },
142 151
        "imageWidth": {
143 152
          "type": "integer"
144 153
        },
145 154
        "sharedPost": {
146 155
          "ref": "app.didpic.feed.defs#postView",
147 156
          "type": "ref"
148 157
        },
149 158
        "sharedPostUnavailable": {
150 159
          "description": "True when the replied-to message shared a post that has since been deleted/taken down - sharedPost is omitted in that case.",
151 160
          "type": "boolean"
152 161
        },
153 162
        "textSnippet": {
154 163
          "type": "string"
155 164
        },
156 165
        "unavailable": {
157 166
          "description": "True when the replied-to message has since been taken down - every other field is omitted in that case.",
158 167
          "type": "boolean"
159 168
        }
160 169
      },
161 170
      "required": [
162 171
        "id",
163 172
        "unavailable"
164 173
      ],
165 174
      "type": "object"
166 175
    }
167 176
  },
168 177
  "id": "app.didpic.chat.defs",
169 178
  "lexicon": 1
170 179
}

Compare Other Versions

Lexicon Garden

@