Skip to main content

@auvious/cobrowser / Sender

Class: Sender

Table of contents​

Constructors​

Properties​

Methods​

Constructors​

constructor​

• new Sender(auviousClient, config, listeners?): Sender

Parameters​

NameType
auviousClientAuviousCommon
configICobrowserConfig
listenersSenderEvents

Returns​

Sender

Properties​

api​

• Private api: ApiResource


auviousClient​

• auviousClient: AuviousCommon


capture​

• Private capture: Page


checkCompress​

• Private checkCompress: Object

Type declaration​

NameType
gzipboolean
zstdboolean

commonSubscription​

• Private commonSubscription: IEventClientSubscription


compressionSupport​

• Private compressionSupport: ICompressionSupport


config​

• config: ICobrowserConfig


filterBuffer​

• Private filterBuffer: { elm: HTMLElement ; type: FilterType }[] = []


flushLite​

• Private flushLite: boolean = false

next flush is lite


listeners​

• Private listeners: SenderEvents = {}


options​

• Private options: ICobrowserOptionUpdatedEvent


player​

• Private player: Player


• Private preserveStylesheetLinks: boolean = false


remoteServiceWorkerProxySupport​

• Private remoteServiceWorkerProxySupport: Record<string, boolean> = {}


sessionId​

• sessionId: string = null


state​

• Private state: SenderState = SenderState.INITIALIZING


terminationCountdown​

• Private terminationCountdown: number = -1

timeout id failsafe for notifying client of termination


users​

• users: Users


version​

• Private version: number = 0

Methods​

allowAccess​

▸ allowAccess(access, user): Promise<void>

grant page access to remote user, view or control

Parameters​

NameTypeDescription
accessCOBROWSER_PERMISSIONView or control
userObjectThe user to grant access to
user.userEndpointIdstring-
user.userIdstring-

Returns​

Promise<void>


canPostPageUpdates​

▸ canPostPageUpdates(): boolean

Returns​

boolean


checkCompression​

▸ checkCompression(): Promise<void>

Returns​

Promise<void>


cleanup​

▸ cleanup(): void

Returns​

void


clearTerminationTimer​

▸ clearTerminationTimer(): void

Returns​

void


controlRequested​

▸ controlRequested(event): void

Parameters​

NameType
eventICobrowserEvent<ICobrowserControlRequestedEvent>

Returns​

void


createCommand​

▸ createCommand<E>(type, payload?): IApiCommand<E>

Type parameters​

Name
E

Parameters​

NameType
typeAPI_COMMAND
payload?E

Returns​

IApiCommand<E>


createPage​

▸ createPage(): Promise<boolean>

Returns​

Promise<boolean>


denyAccess​

▸ denyAccess(access, user): Promise<void>

Parameters​

NameType
accessCOBROWSER_PERMISSION
userObject
user.userEndpointIdstring
user.userIdstring

Returns​

Promise<void>


disable​

▸ disable(option): Promise<void>

Parameters​

NameType
option"scroll" | "record"

Returns​

Promise<void>


enable​

▸ enable(option, settings?): Promise<void>

Parameters​

NameType
option"scroll"
settings?any

Returns​

Promise<void>


filterElement​

▸ filterElement(elm, display?): void

filter an html element before being shared

Parameters​

NameTypeDefault valueDescription
elmHTMLElementundefinedthe html element to filter
displayFilterTypeFilterType.Displaywhether to show to remote if filtered

Returns​

void


flush​

▸ flush(): Promise<void>

Returns​

Promise<void>


isActive​

▸ isActive(): boolean

Returns​

boolean


on​

▸ on<E>(event, listener): void

add event listener, previous one gets overwritten

Type parameters​

NameType
Eextends keyof ISenderEventMap

Parameters​

NameType
eventE
listener(arg: ISenderEventMap[E]) => void

Returns​

void


onFlush​

▸ onFlush(data): Promise<void>

Parameters​

NameType
dataObject
data.attachmentsObject
data.attachments.dataRecord<number, ArrayBuffer>
data.attachments.eventsIAttachment[]
data.batchIBatch
data.eventsstring | ArrayBuffer

Returns​

Promise<void>


onSessionCreated​

▸ onSessionCreated(event): void

Parameters​

NameType
eventICobrowserEvent<ICobrowserSessionCreatedEvent>

Returns​

void


optionUpdated​

▸ optionUpdated(ev): Promise<void>

Parameters​

NameType
evICobrowserEvent<ICobrowserOptionUpdatedEvent>

Returns​

Promise<void>


ownershipLost​

▸ ownershipLost(): void

Returns​

void


reconnect​

▸ reconnect(sessionId, options?): Promise<void>

reconnect to a previous session

Parameters​

NameTypeDescription
sessionIdstringthe cobrowser session to reconnect to
optionsISenderReconnectOptions-

Returns​

Promise<void>


remotePageUpdates​

▸ remotePageUpdates(ev): Promise<void>

Parameters​

NameType
evICobrowserEvent<PageUpdateV3>

Returns​

Promise<void>


resume​

▸ resume(cobrowserSessiondId): Promise<void>

Parameters​

NameTypeDescription
cobrowserSessiondIdstringthe cobrowser session to reconnect to

Returns​

Promise<void>

Deprecated

use reconnect instead

reconnect to a previous session


revokeAccess​

▸ revokeAccess(access, user): Promise<void>

Parameters​

NameType
accessCOBROWSER_PERMISSION
userObject
user.userEndpointIdstring
user.userIdstring

Returns​

Promise<void>


sendEvent​

▸ sendEvent<T>(event, data): void

sends event back to client's listener

Type parameters​

Name
T

Parameters​

NameType
eventstring
dataT

Returns​

void


setFilters​

▸ setFilters(filters): Promise<void>

Replace selector filters, including during a live session.

Parameters​

NameType
filtersIFilter[]

Returns​

Promise<void>


setIframeOriginFilters​

▸ setIframeOriginFilters(origins): Promise<void>

Replace the iframe origin deny-list, including during a live session.

Parameters​

NameType
originsstring[]

Returns​

Promise<void>


setRemoteServiceWorkerProxySupport​

▸ setRemoteServiceWorkerProxySupport(remoteId, supported): void

Parameters​

NameType
remoteIdstring
supportedboolean

Returns​

void


setTerminationTimer​

▸ setTerminationTimer(): void

Returns​

void


setVersion​

▸ setVersion(version): void

Parameters​

NameType
versionnumber

Returns​

void


terminate​

▸ terminate(): Promise<void>

end the session for all

Returns​

Promise<void>


terminated​

▸ terminated(event?): void

Parameters​

NameType
event?ICobrowserEvent<ICobrowserTerminatedEvent>

Returns​

void


viewRequested​

▸ viewRequested(event): void

Parameters​

NameType
eventICobrowserEvent<ICobrowserViewRequestedEvent>

Returns​

void