error
Prebuilt Custom Fires when an unrecoverable error ends the call. Aleft-meeting event fires immediately after.
Always
"error".The ID of the call client instance that emitted this event.
A human-readable description of the error.
Present when the error type is known. Always contains
type and msg. When type is 'connection-error', also includes a details object — see below.type | Description |
|---|---|
ejected | The local participant was removed from the call by an owner. |
nbf-room | The room is not yet valid — current time is before the room’s nbf (not-before) timestamp. |
nbf-token | The meeting token is not yet valid — current time is before the token’s nbf timestamp. |
exp-room | The room has expired. |
exp-token | The meeting token has expired. |
no-room | The room does not exist. |
meeting-full | The room has reached its participant limit. |
end-of-life | The daily-js version in use is no longer supported. |
not-allowed | The participant is not permitted to join this room (e.g. token or privacy settings). |
connection-error | A network or infrastructure failure prevented or severed the connection. This is the only type with a structured details object. |
connection-error details
Whenerror.type is 'connection-error', an additional details object identifies where in the lifecycle the failure occurred:
Lifecycle stage where the failure occurred:
'load', 'join', 'reconnect', 'move', 'rtc-connection', or 'room-lookup'.The underlying error from the browser or network layer.
Optional. The resource URL that failed to load.
Optional. Internal routing group.
Optional. Internal geo region.
Optional. The call bundle URL if the failure was during bundle fetch.
nonfatal-error
Prebuilt Custom Non-fatal errors are recoverable — the call continues after they fire. They signal that something went wrong in a specific subsystem but did not bring down the call. Use these to surface targeted warnings in your UI.Always
"nonfatal-error".The ID of the call client instance that emitted this event.
Identifies which subsystem the error came from. See the subtypes below.
A human-readable description of the error.
input-settings-error
Fires when an error occurs while applying input settings changes.Either
'settings' (error while applying media settings) or 'processor' (error while setting up the processor).The affected media types —
'video' and/or 'audio'.The underlying error. Contains a
camera-error-shaped object if the failure was getting user media, or the processor error if the failure was in the processor.live-streaming-warning
Fires when an error occurs during a live stream — for example, when attempting to remove all live streaming endpoints.local-audio-level-observer-error
Fires if an error occurs while the local audio level observer is running.meeting-session-data-error
Fires when an error occurs updating meeting session data viasetMeetingSessionData().
screen-share-error
Fires when an error occurs while starting a screen share.Either
'permissions' (user or OS blocked screen sharing) or 'unknown' (a getDisplayMedia() exception for another reason).Present when
category is 'permissions'. Either 'browser' (user denied access) or 'os' (OS is configured to block screen sharing).The underlying browser error, including
name and message.video-processor-warning
Fires when the user enables background effects in a browser where performance will likely be degraded — for example, when hardware graphics acceleration is disabled. This often correlates with very low frame rates on the outgoing video stream. This is powered by thefailIfMajorPerformanceCaveat WebGL property.