ParticipantNotReadyError

View as MarkdownOpen in Claude

Every member RPC is routed by the target member’s own call_id/node_id, not the local call’s. Those arrive with the member’s first full state event — member.joined, member.updated, or the call.joined roster. A participant first seen through a partial event such as member.talking has no call context yet, and an empty one can never address the member, so reading target throws rather than sending a doomed RPC.

Readiness never regresses: once a participant’s context has arrived, it stays.

Extends

  • Error

Constructors

Constructor

new ParticipantNotReadyError(memberId, options?): ParticipantNotReadyError

Parameters

memberId
stringRequired

ID of the participant whose member state has not been received yet.

options
ErrorOptions

Standard ErrorOptions, e.g. { cause }.

Properties

memberId
stringRequired

ID of the participant whose member state has not been received yet.

Examples

import { ParticipantNotReadyError } from '@signalwire/js';
try {
await participant.mute();
} catch (error) {
if (error instanceof ParticipantNotReadyError) {
// Seen only via member.talking so far — retry once member.joined arrives.
}
}

setLayout validates every targeted member upfront and throws this before sending any request, leaving the layout unchanged.

See