How far the viewer has read in one space. Lives in the viewer's own chat.yakka.settings space, authority=self (ADR 0017), so read state follows the person across devices and into third-party clients.
any
Any valid record key
Properties
lastSeen
ref
com.atproto.repo.strongRef
Required
The last message the viewer has seen, by URI. Deliberately NOT yakka.chat's view sequence: that number is service-local and meaningless to another view (ADR 0012), so the portable form references the message and every app derives its own position. yakka.chat caches the derived sequence for unread math; this record stays the truth.
space
string
at-uri
Required
The space this marker is for. Also the record key, so a marker is upserted rather than accumulated.
updatedAt
string
datetime
Required
An RFC 3339 formatted timestamp.
View raw schema
{
"key": "any",
"type": "record",
"record": {
"type": "object",
"required": [
"space",
"lastSeen",
"updatedAt"
],
"properties": {
"space": {
"type": "string",
"format": "at-uri",
"description": "The space this marker is for. Also the record key, so a marker is upserted rather than accumulated."
},
"lastSeen": {
"ref": "com.atproto.repo.strongRef",
"type": "ref",
"description": "The last message the viewer has seen, by URI. Deliberately NOT yakka.chat's view sequence: that number is service-local and meaningless to another view (ADR 0012), so the portable form references the message and every app derives its own position. yakka.chat caches the derived sequence for unread math; this record stays the truth."
},
"updatedAt": {
"type": "string",
"format": "datetime"
}
}
},
"description": "How far the viewer has read in one space. Lives in the viewer's own chat.yakka.settings space, authority=self (ADR 0017), so read state follows the person across devices and into third-party clients."
}