social.colibri.beta.actor.defs

colibri.social

Documentation

mute object

A muted subject.

Properties

createdAt string datetime Required

When the mute was created.

subject union Required

What is muted. A user or a community is named by DID, a channel by its space.

View raw schema
{
  "type": "object",
  "required": [
    "subject",
    "createdAt"
  ],
  "properties": {
    "subject": {
      "refs": [
        "#mutedActor",
        "#mutedChannel"
      ],
      "type": "union",
      "closed": true,
      "description": "What is muted. A user or a community is named by DID, a channel by its space."
    },
    "createdAt": {
      "type": "string",
      "format": "datetime",
      "description": "When the mute was created."
    }
  },
  "description": "A muted subject."
}
mutedActor object

A muted user or community.

Properties

did string did Required

The muted user or community.

View raw schema
{
  "type": "object",
  "required": [
    "did"
  ],
  "properties": {
    "did": {
      "type": "string",
      "format": "did",
      "description": "The muted user or community."
    }
  },
  "description": "A muted user or community."
}
mutedChannel object

A muted channel. Muting a channel silences it without leaving the community it belongs to.

Properties

channel string space-ref Required

The muted channel's space.

View raw schema
{
  "type": "object",
  "required": [
    "channel"
  ],
  "properties": {
    "channel": {
      "type": "string",
      "format": "space-ref",
      "description": "The muted channel's space."
    }
  },
  "description": "A muted channel. Muting a channel silences it without leaving the community it belongs to."
}
preferences object

The authenticated user's own settings, as the AppView currently holds them.

Properties

communityOrder array of stringdid Required

Communities in preferred sidebar order.

mutes array of ref#mute Required

Subjects the user has muted.

notificationLevel string Required

Which messages produce a notification.

Known values: all, mentionsAndReplies
View raw schema
{
  "type": "object",
  "required": [
    "notificationLevel",
    "communityOrder",
    "mutes",
    "gifFavorites"
  ],
  "properties": {
    "mutes": {
      "type": "array",
      "items": {
        "ref": "#mute",
        "type": "ref"
      },
      "description": "Subjects the user has muted."
    },
    "gifFavorites": {
      "type": "array",
      "items": {
        "ref": "social.colibri.beta.embed.defs#gifView",
        "type": "ref"
      },
      "description": "GIFs saved from the picker, stored whole."
    },
    "communityOrder": {
      "type": "array",
      "items": {
        "type": "string",
        "format": "did",
        "description": "A community."
      },
      "description": "Communities in preferred sidebar order."
    },
    "notificationLevel": {
      "type": "string",
      "description": "Which messages produce a notification.",
      "knownValues": [
        "all",
        "mentionsAndReplies"
      ]
    }
  },
  "description": "The authenticated user's own settings, as the AppView currently holds them."
}
presence object

A user's live, off-protocol state.

Properties

onlineState string Required

Derived online state.

Known values: online, away, dnd, offline
status ref #status Optional

The user's status line.

voice ref #voiceState Optional

Where the user is connected for voice, if anywhere.

View raw schema
{
  "type": "object",
  "required": [
    "onlineState"
  ],
  "properties": {
    "voice": {
      "ref": "#voiceState",
      "type": "ref",
      "description": "Where the user is connected for voice, if anywhere."
    },
    "status": {
      "ref": "#status",
      "type": "ref",
      "description": "The user's status line."
    },
    "onlineState": {
      "type": "string",
      "description": "Derived online state.",
      "knownValues": [
        "online",
        "away",
        "dnd",
        "offline"
      ]
    }
  },
  "description": "A user's live, off-protocol state."
}
profileView object

A Colibri user as the AppView serves them: identity, resolved profile, and presence.

Properties

avatar string uri Optional

URL of the user's avatar, served by this AppView's blob proxy.

banner string uri Optional

URL of the user's profile banner, served by this AppView's blob proxy.

description string Optional

Resolved bio.

did string did Required

The user's DID.

displayName string Required

Resolved display name, falling back to the handle.

handle string handle Required

The user's handle, or 'handle.invalid' when it does not resolve.

isBot boolean Required

Whether the account is labelled as an automated account.

preferredBadge string Optional

Label value of the badge the user chose to display.

presence ref #presence Optional

Live presence, when the AppView is tracking any.

syncBluesky boolean Required

Whether the mirrored profile fields come from app.bsky.actor.profile.

View raw schema
{
  "type": "object",
  "required": [
    "did",
    "handle",
    "displayName",
    "isBot",
    "syncBluesky"
  ],
  "properties": {
    "did": {
      "type": "string",
      "format": "did",
      "description": "The user's DID."
    },
    "isBot": {
      "type": "boolean",
      "description": "Whether the account is labelled as an automated account."
    },
    "theme": {
      "ref": "social.colibri.beta.actor.profile#theme",
      "type": "ref",
      "description": "Colibri-only profile theming, read from the profile record even when the mirrored fields come from Bluesky."
    },
    "avatar": {
      "type": "string",
      "format": "uri",
      "description": "URL of the user's avatar, served by this AppView's blob proxy."
    },
    "banner": {
      "type": "string",
      "format": "uri",
      "description": "URL of the user's profile banner, served by this AppView's blob proxy."
    },
    "handle": {
      "type": "string",
      "format": "handle",
      "description": "The user's handle, or 'handle.invalid' when it does not resolve."
    },
    "presence": {
      "ref": "#presence",
      "type": "ref",
      "description": "Live presence, when the AppView is tracking any."
    },
    "description": {
      "type": "string",
      "description": "Resolved bio."
    },
    "displayName": {
      "type": "string",
      "description": "Resolved display name, falling back to the handle."
    },
    "syncBluesky": {
      "type": "boolean",
      "description": "Whether the mirrored profile fields come from app.bsky.actor.profile."
    },
    "preferredBadge": {
      "type": "string",
      "description": "Label value of the badge the user chose to display."
    }
  },
  "description": "A Colibri user as the AppView serves them: identity, resolved profile, and presence."
}
status object

A user's status line.

Properties

emoji string Optional

An emoji shown beside the status.

text string Required

The status text.

maxLength: 32 bytes
View raw schema
{
  "type": "object",
  "required": [
    "text"
  ],
  "properties": {
    "text": {
      "type": "string",
      "maxLength": 32,
      "description": "The status text."
    },
    "emoji": {
      "type": "string",
      "description": "An emoji shown beside the status."
    }
  },
  "description": "A user's status line."
}
voiceState object

A user's voice connection.

Properties

channel string space-ref Required

The voice channel the user is connected to.

deafened boolean Optional

Whether the user has incoming audio silenced, for any reason.

muted boolean Optional

Whether the user's microphone is muted, for any reason.

serverDeafened boolean Optional

Whether a moderator deafened them. When this is true they cannot undeafen themselves.

serverMuted boolean Optional

Whether a moderator muted them. When this is true they cannot unmute themselves, and a client must not offer them the control.

View raw schema
{
  "type": "object",
  "required": [
    "channel"
  ],
  "properties": {
    "muted": {
      "type": "boolean",
      "description": "Whether the user's microphone is muted, for any reason."
    },
    "channel": {
      "type": "string",
      "format": "space-ref",
      "description": "The voice channel the user is connected to."
    },
    "deafened": {
      "type": "boolean",
      "description": "Whether the user has incoming audio silenced, for any reason."
    },
    "serverMuted": {
      "type": "boolean",
      "description": "Whether a moderator muted them. When this is true they cannot unmute themselves, and a client must not offer them the control."
    },
    "serverDeafened": {
      "type": "boolean",
      "description": "Whether a moderator deafened them. When this is true they cannot undeafen themselves."
    }
  },
  "description": "A user's voice connection."
}

Lexicon Garden

@