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>


reconnect

reconnect(sessionId): Promise<void>

reconnect to a previous session

Parameters

NameTypeDescription
sessionIdstringthe cobrowser session to reconnect to

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


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