ReadonlyadjustRequires Feature: client-timer-controls
Adjusts the timer duration by the given number of milliseconds. Use positive values to add time, negative to subtract.
ReadonlycancelRequires Feature: student-control
Cancel a pending control request. If deviceId is provided, cancels that device's request
(presenter only). If omitted, cancels the current device's own request.
ReadonlycustomThe params that were passed (custom_params) when starting the applet.
ReadonlydownloadRequires Feature: downloads-images
Sends an image data URL payload to the client to be downloaded to disk.
Readonlydownloadstrue if the applet can download content to the user's device
ReadonlyexportRequires Feature: cloud-exports
Sends an image data URL payload to the client to be exported to a cloud destination.
ReadonlygetRequires Feature: client-ip-discovery
Returns the client's local IP address as seen by the box, using the box's /reflect endpoint. Useful when Safari's ICE candidate filtering prevents direct IP discovery.
ReadonlygetRequires Feature: client-storage
Retrieves a value from client-side storage by key.
ReadonlygetRequires Feature: client-timer-controls
Queries the current timer status on the client, including phase, remaining time, and timer panel visibility.
ReadonlygetRequires Feature: client-token
Returns the client authentication token
ReadonlygetRequires Feature: client-view-mode
Query the client applet's current visibility.
ReadonlygetRequires Feature: student-control
Query the current control status for this device. Useful on applet startup to reflect a
pre-existing control grant before the first vivi:control-status-changed event fires.
ReadonlygetRequires Feature: display-state
Query what the box is currently displaying in detail.
ReadonlygetRequires Feature: client-platform-info
Query the platform information of the client device.
ReadonlygetRequires Features: student-control, user-roles-listing
Query all devices connected to the room and their control status. Only populated for presenter devices.
ReadonlygetRequires Feature: get-room-student-lock
Query the student lock state of the room the applet is running in.
ReadonlygetRequires Feature: client-user-name
Returns the connected client's user name.
ReadonlygetRequires Feature: user-role-listing
Query all the roles the user has as a record.
eg: { admin: false, presenter: true }
ReadonlygrantRequires Feature: student-control
Grant control of the display to a specific device. Presenter only.
ReadonlyhideRequires Feature: client-timer-controls
Hides the timer UI on the display without stopping the countdown.
Readonlyisfalse for ClientApplet
Readonlyistrue for ClientApplet
Readonlymicrophonetrue if the applet has the microphone feature and can access the user's microphone
using regular browser APIs.
ReadonlynavigateRequires Feature: navigate-home
Dismiss the applet overlay on the client without stopping the applet on the box. The user can re-enter by selecting the applet again.
ReadonlyonRequires Feature: screen-share-intercept
Register a handler to intercept screen share requests from the client. When a screen share is initiated, the client asks the applet if it wants to handle the request before proceeding with the default sharing flow.
The handler must resolve within 3 seconds or the client will time out and proceed with default behavior.
ReadonlyopenRequires Feature: open-in-browser
Opens the given URL in the user's default browser.
ReadonlypauseRequires Feature: screen-share-control
Request the client to pause (freeze) a screen share.
ReadonlypauseRequires Feature: client-timer-controls
Pauses the timer countdown on the display.
ReadonlyrequestRequires Feature: student-control
Request control of the display for this device. Only available to non-presenter devices.
ReadonlyresumeRequires Feature: screen-share-control
Request the client to resume (unfreeze) a paused screen share.
ReadonlyrevokeRequires Feature: student-control
Revoke control from the device that currently has it. Presenter only.
ReadonlysendRequires Feature: client-events
Send an event associated with the client / user
ReadonlysetRequires Feature: client-badge
Sets a badge on the applet's icon button in the room toolbar.
Omit badge parameters or pass undefined to clear the badge.
ReadonlysetRequires Feature: client-captions
Sets the captions on the client, which appear over all other content. Can also be used to clear the captions by passing an empty array.
ReadonlysetRequires Feature: client-storage
Stores a key-value pair in client-side storage, scoped to the applet.
ReadonlysetRequires Feature: client-view-mode
Sets the view mode on the client.
The view mode to set:
'normal': Standard windowed mode with both headers visible'primary-header-only': Main header visible, secondary header hidden'secondary-header-only': Main header hidden, secondary header visible'focused': Both headers hidden, no OS fullscreen'fullscreen': Both headers hidden, OS fullscreenReadonlysetRequires Feature: client-view-mode
Set the client applet's visibility.
ReadonlysetRequires Feature: client-timer-controls
Sets the position of the timer overlay on the display.
ReadonlyshareRequires Feature: student-control
Share a student's screen on the display. Presenter only. This revokes existing control before starting the stream.
ReadonlyshowRequires Feature: client-timer-controls
Shows the timer UI on the display.
ReadonlystartRequires Feature: screen-share-control
Request the client to start a screen share.
ReadonlystartRequires Feature: client-timer-controls
Starts or resumes the timer countdown on the display.
ReadonlystopRequires Feature: stop-client-applet
Request the system to stop this applet.
ReadonlystopRequires Feature: play-content-control
Request the client to stop a play-content display (e.g. video, PDF).
ReadonlystopRequires Feature: screen-share-control
Request the client to stop a screen share.
ReadonlystopRequires Feature: client-timer-controls
Stops the timer on the display, resetting it and hiding the timer UI.
ReadonlytoggleRequires Feature: client-timer-controls
Toggles the visibility of the share screen timer controls on the client.
Properties exposed specifically for debugging purposes only
The contents, structure and existence of _debug are not stable, backwards-compatible or guaranteed. Do not use for business logic.
Add a listener for any incoming messages sent from other applet instances.
The message will be of type Msg that the user defines. (eg: Applet<Msg>)
The listener function that will be called when a message is received.
A callback to remove the listener
Send an message of type Msg to other applet instances.
Will reject if the message was not successfully sent.
The message to be sent
An instance of ClientApplet, methods and attributes affect and refer to an applet running in the Vivi Client.
Do not directly instantiate, instead use newApplet or newClientApplet.