Chatroom
A chatroom is the core element of beoble, where users can send chats to each other.
So, how does the chatroom work? How are the messages delivered in beoble?
You can refer to the Communication Delivery Graph (CDG) section to learn more.
Communication Delivery Graph (CDG)Breakdown of Chatroom
The following is the high level of how data are defined in an Chatroom
object of beoble. The following list doesn't cover every single field in the Chatroom
object, but it shows some of the essential fields that might be useful to know.
1. Identity Data Section
Chatroom ID
type: unique identifier
description: Field
chatroom ID
is a unique identifier object for every chatroom of beoble. (i.e., every chatroom in beoble has a unique chatroom ID)
Creator
type: persona object
description: Field
Creator
contains the user information of the chatroom creator.
Display Name
type: string
description: Field
Display Name
is a field that chatroom admin users can set for chatroom name display purposes to users.
Description
type: string
description: Field
Description
is a field that chatroom admin users can set for information display purposes to users.
Profile
type: media object
description: Field
Profile
stores the media object (i.e., images, gifs, videos) to be shown in the profile and background images of the chatroom.
2. Core Data Section
Chats
type: bulk of chat objects
description: Field
Chats
are the encrypted messages that belong to a certain chatroom.
Last Chat
type: chat object
description: Field
Last Chat
is a cached chat object pointing to this chatroom's last message.
Pinned Chat
type: chat object
description: Field
Pinned Chat
is a cached chat object pointing to this chatroom's pinned message.
Read (regarding mark as read)
type: read object
description: Field
Read
contains information about which messages members of the chatroom read.
Members
type: bulk of member objects
description:
Member
objects are a combination ofPersona
objects withRole
objects. Each member contains information about the user in this chatroom, like whether this member is an admin or not and what level of access they have.
3. Encryption Data Section
Chatroom Public Key
type: key object
description: Field
Chatroom Public Key
is the public key of the chatroom that is used for end-to-end encryption, where users use it to encrypt messages and send them to the chatroom. You can find out more details about encryption in the Privacy and Encryption section.
4. Status Data Section
Create Time
type: timestamp
description: Field
Create Time
stores the timestamp of the moment when the chatroom object was created.
Update Time
type: timestamp
description: Field
Update Time
stores the timestamp of the moment when the chatroom object was updated.
Last updated