social.colibri.beta.channel.putReadCursors
Pushes the requesting user's read cursors for one community to the AppView, so unread counts update immediately instead of waiting for a sync notification. The client writes its social.colibri.beta.channel.read record for the community to its own personal space first, then calls this. Clients should debounce this rather than calling it on every message. The user's other sessions receive the cursors that moved as a social.colibri.beta.sync.defs#readCursorEvent.
Details · procedure
| Kind | procedure |
|---|---|
| Authority | channel.beta.colibri.social |
| Indexed |
Checks
Valid Lint pass{
"$type": "com.atproto.lexicon.schema",
"defs": {
"main": {
"description": "Pushes the requesting user's read cursors for one community to the AppView, so unread counts update immediately instead of waiting for a sync notification. The client writes its social.colibri.beta.channel.read record for the community to its own personal space first, then calls this. Clients should debounce this rather than calling it on every message. The user's other sessions receive the cursors that moved as a social.colibri.beta.sync.defs#readCursorEvent.",
"errors": [
{
"description": "The request has no valid service auth.",
"name": "AuthRequired"
},
{
"description": "No community matches the given DID.",
"name": "CommunityNotFound"
}
],
"input": {
"encoding": "application/json",
"schema": {
"properties": {
"community": {
"description": "The community the cursors belong to.",
"format": "did",
"type": "string"
},
"cursors": {
"description": "Read cursors for the community's channels and threads. Each one replaces the stored cursor only when it is newer, and channels left out keep their stored cursor.",
"items": {
"ref": "social.colibri.beta.channel.read#cursor",
"type": "ref"
},
"type": "array"
}
},
"required": [
"community",
"cursors"
],
"type": "object"
}
},
"output": {
"encoding": "application/json",
"schema": {
"properties": {
"statuses": {
"description": "Unread state per channel, after the update.",
"items": {
"ref": "social.colibri.beta.channel.defs#unreadStatus",
"type": "ref"
},
"type": "array"
}
},
"required": [
"statuses"
],
"type": "object"
}
},
"type": "procedure"
}
},
"id": "social.colibri.beta.channel.putReadCursors",
"lexicon": 1
}