Skip to content

Group

Defined in: sdks/js/browser-sdk/src/Group.ts:18

Represents a group conversation between multiple inboxes

This class is not intended to be initialized directly.

ContentTypes = unknown

new Group<ContentTypes>(worker, codecRegistry, id, data?): Group<ContentTypes>

Defined in: sdks/js/browser-sdk/src/Group.ts:45

Creates a new group conversation instance

WorkerBridge<ClientWorkerAction>

The worker bridge instance for client communication

CodecRegistry

The codec registry instance

string

Identifier for the group conversation

SafeConversation

Optional conversation data to initialize with

Group<ContentTypes>

Conversation.constructor

get addedByInboxId(): string | undefined

Defined in: sdks/js/browser-sdk/src/Conversation.ts:75

string | undefined

Conversation.addedByInboxId


get admins(): string[]

Defined in: sdks/js/browser-sdk/src/Group.ts:151

The list of admins of the group by inbox ID

string[]


get appData(): string | undefined

Defined in: sdks/js/browser-sdk/src/Group.ts:131

The app data of the group

string | undefined


get createdAt(): Date | undefined

Defined in: sdks/js/browser-sdk/src/Conversation.ts:83

Date | undefined

Conversation.createdAt


get createdAtNs(): bigint | undefined

Defined in: sdks/js/browser-sdk/src/Conversation.ts:79

bigint | undefined

Conversation.createdAtNs


get description(): string | undefined

Defined in: sdks/js/browser-sdk/src/Group.ts:111

The description of the group

string | undefined


get id(): string

Defined in: sdks/js/browser-sdk/src/Conversation.ts:71

string

Conversation.id


get imageUrl(): string | undefined

Defined in: sdks/js/browser-sdk/src/Group.ts:91

The image URL of the group

string | undefined


get metadata(): GroupMetadata | undefined

Defined in: sdks/js/browser-sdk/src/Conversation.ts:87

GroupMetadata | undefined

Conversation.metadata


get name(): string | undefined

Defined in: sdks/js/browser-sdk/src/Group.ts:71

The name of the group

string | undefined


get superAdmins(): string[]

Defined in: sdks/js/browser-sdk/src/Group.ts:158

The list of super admins of the group by inbox ID

string[]


get topic(): string

Defined in: sdks/js/browser-sdk/src/Conversation.ts:91

string

Conversation.topic

addAdmin(inboxId): Promise<void>

Defined in: sdks/js/browser-sdk/src/Group.ts:294

Promotes a group member to admin status

string

The inbox ID of the member to promote

Promise<void>


addMembers(inboxIds): Promise<void>

Defined in: sdks/js/browser-sdk/src/Group.ts:258

Adds members to the group using inbox IDs

string[]

Array of inbox IDs to add

Promise<void>


addMembersByIdentifiers(identifiers): Promise<void>

Defined in: sdks/js/browser-sdk/src/Group.ts:246

Adds members to the group using identifiers

Identifier[]

Array of member identifiers to add

Promise<void>


addSuperAdmin(inboxId): Promise<void>

Defined in: sdks/js/browser-sdk/src/Group.ts:318

Promotes a group member to super admin status

string

The inbox ID of the member to promote

Promise<void>


beginningDeliveryCursor(): Promise<DeliveryCursor>

Defined in: sdks/js/browser-sdk/src/Conversation.ts:520

Promise<DeliveryCursor>

Conversation.beginningDeliveryCursor


consentState(): Promise<ConsentState>

Defined in: sdks/js/browser-sdk/src/Conversation.ts:405

Gets the consent state for this conversation

Promise<ConsentState>

Promise that resolves with the current consent state

Conversation.consentState


countMessages(options?): Promise<bigint>

Defined in: sdks/js/browser-sdk/src/Conversation.ts:390

Counts messages in this conversation

Omit<ListMessagesOptions, "limit" | "direction">

Optional filtering options

Promise<bigint>

Promise that resolves with the count of messages

Conversation.countMessages


debugInfo(): Promise<ConversationDebugInfo>

Defined in: sdks/js/browser-sdk/src/Conversation.ts:546

Retrieves information for this conversation to help with debugging

Promise<ConversationDebugInfo>

The debug information for this conversation

Conversation.debugInfo


hmacKeys(): Promise<HmacKeys>

Defined in: sdks/js/browser-sdk/src/Conversation.ts:535

Gets HMAC keys for this conversation

Promise<HmacKeys>

Promise that resolves with the HMAC keys

Conversation.hmacKeys


isActive(): Promise<boolean>

Defined in: sdks/js/browser-sdk/src/Conversation.ts:104

Promise<boolean>

Conversation.isActive


isAdmin(inboxId): Promise<boolean>

Defined in: sdks/js/browser-sdk/src/Group.ts:225

Checks if an inbox is an admin of the group

string

The inbox ID to check

Promise<boolean>

Boolean indicating if the inbox is an admin


isMessageDisappearingEnabled(): Promise<boolean>

Defined in: sdks/js/browser-sdk/src/Conversation.ts:472

Checks if message disappearing is enabled for this conversation

Promise<boolean>

Promise that resolves with whether message disappearing is enabled

Conversation.isMessageDisappearingEnabled


isPendingRemoval(): Promise<boolean>

Defined in: sdks/js/browser-sdk/src/Group.ts:351

Checks if the current user has requested to leave the group

Promise<boolean>

Boolean


isSuperAdmin(inboxId): Promise<boolean>

Defined in: sdks/js/browser-sdk/src/Group.ts:236

Checks if an inbox is a super admin of the group

string

The inbox ID to check

Promise<boolean>

Boolean indicating if the inbox is a super admin


lastMessage(): Promise<DecodedMessage<ContentTypes> | undefined>

Defined in: sdks/js/browser-sdk/src/Conversation.ts:95

Promise<DecodedMessage<ContentTypes> | undefined>

Conversation.lastMessage


lastReadTimes(): Promise<LastReadTimes>

Defined in: sdks/js/browser-sdk/src/Conversation.ts:558

Retrieves the last read times for this conversation

Promise<LastReadTimes>

A map keyed by inbox ID with the last read timestamp (nanoseconds since epoch)

Conversation.lastReadTimes


listAdmins(): Promise<string[]>

Defined in: sdks/js/browser-sdk/src/Group.ts:167

Fetches and updates the list of group admins from the server

Promise<string[]>

Array of admin inbox IDs


listSuperAdmins(): Promise<string[]>

Defined in: sdks/js/browser-sdk/src/Group.ts:180

Fetches and updates the list of group super admins from the server

Promise<string[]>

Array of super admin inbox IDs


members(): Promise<GroupMember[]>

Defined in: sdks/js/browser-sdk/src/Conversation.ts:115

Gets the conversation members

Promise<GroupMember[]>

Promise that resolves with the conversation members

Conversation.members


messageDisappearingSettings(): Promise<MessageDisappearingSettings | undefined>

Defined in: sdks/js/browser-sdk/src/Conversation.ts:429

Gets the message disappearing settings for this conversation

Promise<MessageDisappearingSettings | undefined>

Promise that resolves with the current message disappearing settings

Conversation.messageDisappearingSettings


messageHistorySnapshot(limit): Promise<MessageHistorySnapshot>

Defined in: sdks/js/browser-sdk/src/Conversation.ts:513

number

Promise<MessageHistorySnapshot>

Conversation.messageHistorySnapshot


messages(options?): Promise<DecodedMessage<ContentTypes>[]>

Defined in: sdks/js/browser-sdk/src/Conversation.ts:372

Lists messages in this conversation

ListMessagesOptions

Optional filtering and pagination options

Promise<DecodedMessage<ContentTypes>[]>

Promise that resolves with an array of decoded messages

Conversation.messages


pausedForVersion(): Promise<string | undefined>

Defined in: sdks/js/browser-sdk/src/Conversation.ts:524

Promise<string | undefined>

Conversation.pausedForVersion


permissions(): Promise<{ policySet: PermissionPolicySet; policyType: GroupPermissionsOptions; }>

Defined in: sdks/js/browser-sdk/src/Group.ts:193

Retrieves the group’s permissions

Promise<{ policySet: PermissionPolicySet; policyType: GroupPermissionsOptions; }>

The group’s permissions


processStreamedMessage(envelopeBytes): Promise<Message[]>

Defined in: sdks/js/browser-sdk/src/Conversation.ts:151

Decodes, decrypts, and persists a raw envelope from a group message stream.

Uint8Array

Raw protobuf-encoded envelope bytes from the stream

Promise<Message[]>

The processed and stored messages

Conversation.processStreamedMessage


publishMessages(): Promise<void>

Defined in: sdks/js/browser-sdk/src/Conversation.ts:139

Publishes pending messages that were sent optimistically

Promise<void>

Promise that resolves when publishing is complete

Conversation.publishMessages


removeAdmin(inboxId): Promise<void>

Defined in: sdks/js/browser-sdk/src/Group.ts:306

Removes admin status from a group member

string

The inbox ID of the admin to demote

Promise<void>


removeMembers(inboxIds): Promise<void>

Defined in: sdks/js/browser-sdk/src/Group.ts:282

Removes members from the group using inbox IDs

string[]

Array of inbox IDs to remove

Promise<void>


removeMembersByIdentifiers(identifiers): Promise<void>

Defined in: sdks/js/browser-sdk/src/Group.ts:270

Removes members from the group using identifiers

Identifier[]

Array of member identifiers to remove

Promise<void>


removeMessageDisappearingSettings(): Promise<void>

Defined in: sdks/js/browser-sdk/src/Conversation.ts:458

Removes message disappearing settings from this conversation

Promise<void>

Promise that resolves when the settings are removed

Conversation.removeMessageDisappearingSettings


removeSuperAdmin(inboxId): Promise<void>

Defined in: sdks/js/browser-sdk/src/Group.ts:330

Removes super admin status from a group member

string

The inbox ID of the super admin to demote

Promise<void>


requestRemoval(): Promise<void>

Defined in: sdks/js/browser-sdk/src/Group.ts:340

Request to leave the group

Promise<void>


send(content, options?): Promise<string>

Defined in: sdks/js/browser-sdk/src/Conversation.ts:171

Sends a message

EncodedContent

The encoded content to send

SendMessageOpts

Optional send options

Promise<string>

Promise that resolves with the message ID after it has been sent

Conversation.send


sendActions(actions, opts?): Promise<string>

Defined in: sdks/js/browser-sdk/src/Conversation.ts:292

Sends an actions message

Actions

The actions to send

SendOpts

Send options (optimistic delivery, idempotency key)

Promise<string>

Promise that resolves with the message ID after it has been sent

Conversation.sendActions


sendAttachment(attachment, opts?): Promise<string>

Defined in: sdks/js/browser-sdk/src/Conversation.ts:322

Sends an attachment message

Attachment

The attachment to send

SendOpts

Send options (optimistic delivery, idempotency key)

Promise<string>

Promise that resolves with the message ID after it has been sent

Conversation.sendAttachment


sendIntent(intent, opts?): Promise<string>

Defined in: sdks/js/browser-sdk/src/Conversation.ts:307

Sends an intent message

Intent

The intent to send

SendOpts

Send options (optimistic delivery, idempotency key)

Promise<string>

Promise that resolves with the message ID after it has been sent

Conversation.sendIntent


sendMarkdown(markdown, opts?): Promise<string>

Defined in: sdks/js/browser-sdk/src/Conversation.ts:201

Sends a markdown message

string

The markdown to send

SendOpts

Send options (optimistic delivery, idempotency key)

Promise<string>

Promise that resolves with the message ID after it has been sent

Conversation.sendMarkdown


sendMultiRemoteAttachment(multiRemoteAttachment, opts?): Promise<string>

Defined in: sdks/js/browser-sdk/src/Conversation.ts:337

Sends a multi remote attachment message

MultiRemoteAttachment

The multi remote attachment to send

SendOpts

Send options (optimistic delivery, idempotency key)

Promise<string>

Promise that resolves with the message ID after it has been sent

Conversation.sendMultiRemoteAttachment


sendReaction(reaction, opts?): Promise<string>

Defined in: sdks/js/browser-sdk/src/Conversation.ts:216

Sends a reaction message

Reaction

The reaction to send

SendOpts

Send options (optimistic delivery, idempotency key)

Promise<string>

Promise that resolves with the message ID after it has been sent

Conversation.sendReaction


sendReadReceipt(opts?): Promise<string>

Defined in: sdks/js/browser-sdk/src/Conversation.ts:230

Sends a read receipt message

SendOpts

Send options (optimistic delivery, idempotency key)

Promise<string>

Promise that resolves with the message ID after it has been sent

Conversation.sendReadReceipt


sendRemoteAttachment(remoteAttachment, opts?): Promise<string>

Defined in: sdks/js/browser-sdk/src/Conversation.ts:355

Sends a remote attachment message

RemoteAttachment

The remote attachment to send

SendOpts

Send options (optimistic delivery, idempotency key)

Promise<string>

Promise that resolves with the message ID after it has been sent

Conversation.sendRemoteAttachment


sendReply(reply, opts?): Promise<string>

Defined in: sdks/js/browser-sdk/src/Conversation.ts:244

Sends a reply message

Reply

The reply to send

SendOpts

Send options (optimistic delivery, idempotency key)

Promise<string>

Promise that resolves with the message ID after it has been sent

Conversation.sendReply


sendText(text, opts?): Promise<string>

Defined in: sdks/js/browser-sdk/src/Conversation.ts:186

Sends a text message

string

The text to send

SendOpts

Send options (optimistic delivery, idempotency key)

Promise<string>

Promise that resolves with the message ID after it has been sent

Conversation.sendText


sendTransactionReference(transactionReference, opts?): Promise<string>

Defined in: sdks/js/browser-sdk/src/Conversation.ts:259

Sends a transaction reference message

TransactionReference

The transaction reference to send

SendOpts

Send options (optimistic delivery, idempotency key)

Promise<string>

Promise that resolves with the message ID after it has been sent

Conversation.sendTransactionReference


sendWalletSendCalls(walletSendCalls, opts?): Promise<string>

Defined in: sdks/js/browser-sdk/src/Conversation.ts:277

Sends a wallet send calls message

WalletSendCalls

The wallet send calls to send

SendOpts

Send options (optimistic delivery, idempotency key)

Promise<string>

Promise that resolves with the message ID after it has been sent

Conversation.sendWalletSendCalls


stream(options?): Promise<MessageStream<DecodedMessage | undefined, DecodedMessage<ContentTypes>>>

Defined in: sdks/js/browser-sdk/src/Conversation.ts:487

Reads retained messages after the default acknowledgement position. Set from to replay after a cursor without changing default progress. Set onValue for callback mode, or request items with the iterator. Core owns network recovery. Legacy retry options and disableSync do not apply.

StreamOptions<DecodedMessage, DecodedMessage<ContentTypes>> & object

Optional delivery callbacks and replay cursor

Promise<MessageStream<DecodedMessage | undefined, DecodedMessage<ContentTypes>>>

Stream instance for new messages

Conversation.stream


sync(): Promise<SafeConversation>

Defined in: sdks/js/browser-sdk/src/Group.ts:62

Synchronizes the group’s data with the network

Promise<SafeConversation>

Updated group data

Conversation.sync


updateAppData(appData): Promise<void>

Defined in: sdks/js/browser-sdk/src/Group.ts:140

Updates the group’s app data (max 8192 bytes)

string

The new app data for the group

Promise<void>


updateConsentState(state): Promise<void>

Defined in: sdks/js/browser-sdk/src/Conversation.ts:417

Updates the consent state for this conversation

ConsentState

The new consent state to set

Promise<void>

Promise that resolves when the update is complete

Conversation.updateConsentState


updateDescription(description): Promise<void>

Defined in: sdks/js/browser-sdk/src/Group.ts:120

Updates the group’s description

string

The new description for the group

Promise<void>


updateImageUrl(imageUrl): Promise<void>

Defined in: sdks/js/browser-sdk/src/Group.ts:100

Updates the group’s image URL

string

The new image URL for the group

Promise<void>


updateMessageDisappearingSettings(fromNs, inNs): Promise<void>

Defined in: sdks/js/browser-sdk/src/Conversation.ts:442

Updates message disappearing settings for this conversation

bigint

The timestamp from which messages should start disappearing

bigint

The duration after which messages should disappear

Promise<void>

Promise that resolves when the update is complete

Conversation.updateMessageDisappearingSettings


updateName(name): Promise<void>

Defined in: sdks/js/browser-sdk/src/Group.ts:80

Updates the group’s name

string

The new name for the group

Promise<void>


updatePermission(permissionType, policy, metadataField?): Promise<void>

Defined in: sdks/js/browser-sdk/src/Group.ts:206

Updates a specific permission policy for the group

PermissionUpdateType

The type of permission to update

PermissionPolicy

The new permission policy

MetadataField

Optional metadata field for the permission

Promise<void>