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