chat.yakka.getSnapshot

yakka.chat

Documentation

Everything needed for first paint, in one round trip: the viewer's servers, the active server's channels and roster, and one channel's newest timeline page. One method rather than five because this is the server-rendered path — every extra round trip here is latency a reader sees before anything appears. Warm navigations do not call it at all; the client's store already holds the answer.

main query

Everything needed for first paint, in one round trip: the viewer's servers, the active server's channels and roster, and one channel's newest timeline page. One method rather than five because this is the server-rendered path — every extra round trip here is latency a reader sees before anything appears. Warm navigations do not call it at all; the client's store already holds the answer.

Parameters

channel string Optional

Which channel's timeline to include. Omit for the server's default.

server string did Optional

Which server to open. Omit to let the appview choose the viewer's first.

Output

Encodingapplication/json
Schema#output
Try It

Requests are sent directly from your browser. Some servers may block requests due to CORS.

Base URL for XRPC calls (e.g., https://api.bsky.social)
Parameters
Which channel's timeline to include. Omit for the server's default.
Which server to open. Omit to let the appview choose the viewer's first.
View raw schema
{
  "type": "query",
  "output": {
    "schema": {
      "ref": "#output",
      "type": "ref"
    },
    "encoding": "application/json"
  },
  "parameters": {
    "type": "params",
    "properties": {
      "server": {
        "type": "string",
        "format": "did",
        "description": "Which server to open. Omit to let the appview choose the viewer's first."
      },
      "channel": {
        "type": "string",
        "description": "Which channel's timeline to include. Omit for the server's default."
      }
    }
  },
  "description": "Everything needed for first paint, in one round trip: the viewer's servers, the active server's channels and roster, and one channel's newest timeline page.\n\nOne method rather than five because this is the server-rendered path — every extra round trip here is latency a reader sees before anything appears. Warm navigations do not call it at all; the client's store already holds the answer."
}
output object

No description available.

Properties

activeChannelId string Optional

No description available.

activeServerDid string did Optional

A decentralized identifier (DID).

View raw schema
{
  "type": "object",
  "required": [
    "servers",
    "channels",
    "members"
  ],
  "properties": {
    "viewer": {
      "ref": "chat.yakka.defs#memberView",
      "type": "ref"
    },
    "members": {
      "type": "array",
      "items": {
        "ref": "chat.yakka.defs#memberView",
        "type": "ref"
      }
    },
    "servers": {
      "type": "array",
      "items": {
        "ref": "chat.yakka.defs#serverView",
        "type": "ref"
      }
    },
    "channels": {
      "type": "array",
      "items": {
        "ref": "chat.yakka.defs#channelView",
        "type": "ref"
      }
    },
    "timeline": {
      "ref": "chat.yakka.defs#timelinePage",
      "type": "ref"
    },
    "readState": {
      "type": "array",
      "items": {
        "ref": "chat.yakka.defs#channelReadState",
        "type": "ref"
      }
    },
    "activeChannelId": {
      "type": "string"
    },
    "activeServerDid": {
      "type": "string",
      "format": "did"
    }
  }
}

Lexicon Garden

@