@auvious/cobrowser / Sender
Class: Sender
Table of contents
Constructors
Properties
- api
- auviousClient
- capture
- checkCompress
- commonSubscription
- compressionSupport
- config
- filterBuffer
- flushLite
- listeners
- options
- player
- preserveStylesheetLinks
- remoteServiceWorkerProxySupport
- sessionId
- state
- terminationCountdown
- users
- version
Methods
- allowAccess
- canPostPageUpdates
- checkCompression
- cleanup
- clearTerminationTimer
- controlRequested
- createCommand
- createPage
- denyAccess
- disable
- enable
- filterElement
- flush
- isActive
- on
- onFlush
- onSessionCreated
- optionUpdated
- reconnect
- remotePageUpdates
- resume
- revokeAccess
- sendEvent
- setRemoteServiceWorkerProxySupport
- setTerminationTimer
- setVersion
- terminate
- terminated
- viewRequested
Constructors
constructor
• new Sender(auviousClient, config, listeners?): Sender
Parameters
| Name | Type |
|---|---|
auviousClient | AuviousCommon |
config | ICobrowserConfig |
listeners | SenderEvents |
Returns
Properties
api
• Private api: ApiResource
auviousClient
• auviousClient: AuviousCommon
capture
• Private capture: Page
checkCompress
• Private checkCompress: Object
Type declaration
| Name | Type |
|---|---|
gzip | boolean |
zstd | boolean |
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
preserveStylesheetLinks
• 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
| Name | Type | Description |
|---|---|---|
access | COBROWSER_PERMISSION | View or control |
user | Object | The user to grant access to |
user.userEndpointId | string | - |
user.userId | string | - |
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
| Name | Type |
|---|---|
event | ICobrowserEvent<ICobrowserControlRequestedEvent> |
Returns
void
createCommand
▸ createCommand<E>(type, payload?): IApiCommand<E>
Type parameters
| Name |
|---|
E |
Parameters
| Name | Type |
|---|---|
type | API_COMMAND |
payload? | E |
Returns
IApiCommand<E>
createPage
▸ createPage(): Promise<boolean>
Returns
Promise<boolean>
denyAccess
▸ denyAccess(access, user): Promise<void>
Parameters
| Name | Type |
|---|---|
access | COBROWSER_PERMISSION |
user | Object |
user.userEndpointId | string |
user.userId | string |
Returns
Promise<void>
disable
▸ disable(option): Promise<void>
Parameters
| Name | Type |
|---|---|
option | "scroll" | "record" |
Returns
Promise<void>
enable
▸ enable(option, settings?): Promise<void>
Parameters
| Name | Type |
|---|---|
option | "scroll" |
settings? | any |
Returns
Promise<void>
filterElement
▸ filterElement(elm, display?): void
filter an html element before being shared
Parameters
| Name | Type | Default value | Description |
|---|---|---|---|
elm | HTMLElement | undefined | the html element to filter |
display | FilterType | FilterType.Display | whether 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
| Name | Type |
|---|---|
E | extends keyof ISenderEventMap |
Parameters
| Name | Type |
|---|---|
event | E |
listener | (arg: ISenderEventMap[E]) => void |
Returns
void
onFlush
▸ onFlush(data): Promise<void>
Parameters
| Name | Type |
|---|---|
data | Object |
data.attachments | Object |
data.attachments.data | Record<number, ArrayBuffer> |
data.attachments.events | IAttachment[] |
data.batch | IBatch |
data.events | string | ArrayBuffer |
Returns
Promise<void>
onSessionCreated
▸ onSessionCreated(event): void
Parameters
| Name | Type |
|---|---|
event | ICobrowserEvent<ICobrowserSessionCreatedEvent> |
Returns
void
optionUpdated
▸ optionUpdated(ev): Promise<void>
Parameters
| Name | Type |
|---|---|
ev | ICobrowserEvent<ICobrowserOptionUpdatedEvent> |
Returns
Promise<void>
reconnect
▸ reconnect(sessionId): Promise<void>
reconnect to a previous session
Parameters
| Name | Type | Description |
|---|---|---|
sessionId | string | the cobrowser session to reconnect to |
Returns
Promise<void>
remotePageUpdates
▸ remotePageUpdates(ev): Promise<void>
Parameters
| Name | Type |
|---|---|
ev | ICobrowserEvent<PageUpdateV3> |
Returns
Promise<void>
resume
▸ resume(cobrowserSessiondId): Promise<void>
Parameters
| Name | Type | Description |
|---|---|---|
cobrowserSessiondId | string | the cobrowser session to reconnect to |
Returns
Promise<void>
Deprecated
use reconnect instead
reconnect to a previous session
revokeAccess
▸ revokeAccess(access, user): Promise<void>
Parameters
| Name | Type |
|---|---|
access | COBROWSER_PERMISSION |
user | Object |
user.userEndpointId | string |
user.userId | string |
Returns
Promise<void>
sendEvent
▸ sendEvent<T>(event, data): void
sends event back to client's listener
Type parameters
| Name |
|---|
T |
Parameters
| Name | Type |
|---|---|
event | string |
data | T |
Returns
void
setRemoteServiceWorkerProxySupport
▸ setRemoteServiceWorkerProxySupport(remoteId, supported): void
Parameters
| Name | Type |
|---|---|
remoteId | string |
supported | boolean |
Returns
void
setTerminationTimer
▸ setTerminationTimer(): void
Returns
void
setVersion
▸ setVersion(version): void
Parameters
| Name | Type |
|---|---|
version | number |
Returns
void
terminate
▸ terminate(): Promise<void>
end the session for all
Returns
Promise<void>
terminated
▸ terminated(event?): void
Parameters
| Name | Type |
|---|---|
event? | ICobrowserEvent<ICobrowserTerminatedEvent> |
Returns
void
viewRequested
▸ viewRequested(event): void
Parameters
| Name | Type |
|---|---|
event | ICobrowserEvent<ICobrowserViewRequestedEvent> |
Returns
void