A thread's configuration, including the link to the channel it belongs to. Lives at key 'self' in the thread's own space and is written only by the community.
literal:self
Fixed literal value
Properties
anchor
ref
social.colibri.beta.defs#spaceRecordRef
Optional
The message the thread was opened from. Absent on a thread opened from scratch. Its space stays where the thread was opened even after the thread moves to another channel, which is what drops the thread's marker out of the old channel without losing the quoted message.
bridged
ref
social.colibri.beta.bridge.defs#attribution
Optional
Who opened this thread on another service. Honoured only when the community itself wrote the record.
channel
string
space-ref
Required
The text channel this thread belongs to. Moving the thread to another channel rewrites this field.
createdAt
string
datetime
Required
When the thread was opened.
createdBy
string
did
Required
Who opened the thread.
name
string
Required
The thread's title.
maxLength: 128 bytesminLength: 1 bytesvisibleToMembers
array
of
string
did
Optional
Members that may read this thread in addition to visibleToRoles.
visibleToRoles
array
of
string
record-key
Optional
Roles that may read this thread. Empty or absent means everyone who can read the parent channel can read the thread. A non-empty list makes the thread private: the community declines space credentials for it to anyone outside the list, so it is enforced by the protocol rather than only by a read handler.
View raw schema
{
"description": "A thread's configuration, including the link to the channel it belongs to. Lives at key 'self' in the thread's own space and is written only by the community.",
"key": "literal:self",
"record": {
"properties": {
"anchor": {
"description": "The message the thread was opened from. Absent on a thread opened from scratch. Its space stays where the thread was opened even after the thread moves to another channel, which is what drops the thread's marker out of the old channel without losing the quoted message.",
"ref": "social.colibri.beta.defs#spaceRecordRef",
"type": "ref"
},
"bridged": {
"description": "Who opened this thread on another service. Honoured only when the community itself wrote the record.",
"ref": "social.colibri.beta.bridge.defs#attribution",
"type": "ref"
},
"channel": {
"description": "The text channel this thread belongs to. Moving the thread to another channel rewrites this field.",
"format": "space-ref",
"type": "string"
},
"createdAt": {
"description": "When the thread was opened.",
"format": "datetime",
"type": "string"
},
"createdBy": {
"description": "Who opened the thread.",
"format": "did",
"type": "string"
},
"name": {
"description": "The thread's title.",
"maxLength": 128,
"minLength": 1,
"type": "string"
},
"visibleToMembers": {
"description": "Members that may read this thread in addition to visibleToRoles.",
"items": {
"description": "A member permitted to read.",
"format": "did",
"type": "string"
},
"type": "array"
},
"visibleToRoles": {
"description": "Roles that may read this thread. Empty or absent means everyone who can read the parent channel can read the thread. A non-empty list makes the thread private: the community declines space credentials for it to anyone outside the list, so it is enforced by the protocol rather than only by a read handler.",
"items": {
"description": "A role permitted to read.",
"format": "record-key",
"type": "string"
},
"type": "array"
}
},
"required": [
"name",
"channel",
"createdBy",
"createdAt"
],
"type": "object"
},
"type": "record"
}