Skip to main content

@auvious/cobrowser / Receiver

Class: Receiver

handle the receiver endpoint of a cobrowsing session aks for permission, render page updates, control remote

Table of contents​

Constructors​

Properties​

Methods​

Constructors​

constructor​

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

Parameters​

NameType
auviousClientAuviousCommon
configIReceiverConfig
listenersReceiverEvents

Returns​

Receiver

Properties​

api​

• Private api: ApiResource


auviousClient​

• auviousClient: AuviousCommon


buffer​

• Private buffer: PlayerBuffer


commonSubscription​

• Private commonSubscription: IEventClientSubscription


compressionSupport​

• Private compressionSupport: ICompressionSupport


config​

• config: IReceiverConfig


flushLite​

• Private flushLite: boolean = false

next flush is lite


listeners​

• Private listeners: ReceiverEvents = {}


options​

• Private options: ICobrowserOptionUpdatedEvent


permissions​

• Private permissions: Object

Type declaration​

NameType
controlboolean
viewboolean

player​

• Private player: Player


renderer​

• Private renderer: MirrorPage


serviceWorkerRegistration​

• Private serviceWorkerRegistration: Promise<void>


serviceWorkerState​

• Private serviceWorkerState: ICobrowserServiceWorkerState


sessionId​

• sessionId: string = null


state​

• Private state: ReceiverState = ReceiverState.INITIALIZING


terminationCountdown​

• Private terminationCountdown: number = -1

timeout id failsafe for notifying client of termination


version​

• Private version: number = 0

Methods​

accessDenied​

▸ accessDenied(event): void

Parameters​

NameType
eventICobrowserEvent<ICobrowserAccessDeniedEvent>

Returns​

void


canControl​

▸ canControl(): boolean

Returns​

boolean


canView​

▸ canView(): boolean

Returns​

boolean


checkCompression​

▸ checkCompression(): Promise<void>

Returns​

Promise<void>


cleanup​

▸ cleanup(): void

Returns​

void


clearTerminationTimer​

▸ clearTerminationTimer(): void

Returns​

void


controlAccepted​

▸ controlAccepted(event): void

Parameters​

NameType
eventICobrowserEvent<ICobrowserPermissionAcceptedEvent>

Returns​

void


controlRevoked​

▸ controlRevoked(event): void

Parameters​

NameType
eventICobrowserEvent<ICobrowserPermissionRevokedEvent>

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<void>

Returns​

Promise<void>


createSession​

▸ createSession(target): Promise<void>

create and initialize a session, prefer requestAccess for normal flow

Parameters​

NameType
targetObject
target.userEndpointIdstring
target.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>


getFeatureSupport​

▸ getFeatureSupport(): Promise<ICobrowserFeatureSupport>

Returns​

Promise<ICobrowserFeatureSupport>


getServiceWorkerState​

▸ getServiceWorkerState(): Object

Returns​

Object

NameType
controlledboolean
error?unknown
registeredboolean
supportedboolean

handleEvent​

▸ handleEvent(event): void

Parameters​

NameType
eventICobrowserEvent<any>

Returns​

void


isActive​

▸ isActive(): true | MirrorPage

a fully established cobrowsing connection

Returns​

true | MirrorPage


on​

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

add event listener, previous one gets overwritten

Type parameters​

NameType
Eextends keyof IReceiverEventMap

Parameters​

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

Returns​

void


onSessionCreated​

▸ onSessionCreated(event): void

Parameters​

NameType
eventICobrowserEvent<ICobrowserSessionCreatedEvent>

Returns​

void


optionUpdated​

▸ optionUpdated(ev): Promise<void>

Parameters​

NameType
evICobrowserEvent<ICobrowserOptionUpdatedEvent>

Returns​

Promise<void>


pageUpdated​

▸ pageUpdated(ev): Promise<void>

must render all updates

Parameters​

NameType
evICobrowserEvent<PageUpdateV3>

Returns​

Promise<void>


reconnect​

▸ reconnect(sessionId): Promise<void>

reconnect to a previous session

Parameters​

NameTypeDescription
sessionIdstringthe cobrowser session to reconnect to

Returns​

Promise<void>


registerServiceWorker​

▸ registerServiceWorker(): Promise<void>

Returns​

Promise<void>


requestAccess​

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

request access to page, view or control

Parameters​

NameTypeDescription
accessCOBROWSER_PERMISSIONView or control a page
userObjectThe user whose page we want access
user.userEndpointIdstring-
user.userIdstring-

Returns​

Promise<void>


schedule​

▸ schedule(): Promise<void>

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


sendPending​

▸ sendPending(data): Promise<void>

Parameters​

NameType
dataPageUpdateV3

Returns​

Promise<void>


sendUpdates​

▸ sendUpdates(ev): Promise<void>

Parameters​

NameType
evPageUpdateV3

Returns​

Promise<void>


setTerminationTimer​

▸ setTerminationTimer(): void

Returns​

void


setVersion​

▸ setVersion(version): void

Parameters​

NameType
versionnumber

Returns​

void


startServiceWorkerRegistration​

▸ startServiceWorkerRegistration(): void

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


viewAccepted​

▸ viewAccepted(event): Promise<void>

Parameters​

NameType
eventICobrowserEvent<ICobrowserPermissionAcceptedEvent>

Returns​

Promise<void>


viewRevoked​

▸ viewRevoked(event): void

Parameters​

NameType
eventICobrowserEvent<ICobrowserPermissionRevokedEvent>

Returns​

void