Skip to content

Interface: RoomOptions\<TPresence\>

@roomful/core


@roomful/core / RoomOptions

Defined in: packages/core/src/types.ts:492

Configures room creation.

TPresence extends PresenceData = PresenceData

The local and remote presence shape carried by the room.

optional debug: boolean | DebugOptions

Defined in: packages/core/src/types.ts:546

Enables broad debug logging or fine-grained debug flags.


optional encryption: EncryptionOptions

Defined in: packages/core/src/types.ts:541

Enables payload encryption.


optional ephemeral: number | boolean

Defined in: packages/core/src/types.ts:552

Marks the room as ephemeral — no durable storage (state, comments, locks), and optionally disconnects after ttlMs. Pass true for no-persistence only, or a number for TTL in ms.


optional maxPeers: number

Defined in: packages/core/src/types.ts:506

Caps the number of peers allowed in the room.


optional presence: Partial<TPresence>

Defined in: packages/core/src/types.ts:501

Seeds the initial local presence payload.


optional reconnect: boolean | ReconnectOptions

Defined in: packages/core/src/types.ts:526

Enables reconnect behavior or custom reconnect timing.


optional relayAuth: RelayAuthToken

Defined in: packages/core/src/types.ts:521

Supplies relay authentication as a token or async token factory.


optional relayUrl: string

Defined in: packages/core/src/types.ts:516

Overrides the relay URL used for signaling and fallback transports.


optional stunUrls: string[]

Defined in: packages/core/src/types.ts:511

Supplies custom STUN server URLs for WebRTC sessions.


optional transport: TransportMode

Defined in: packages/core/src/types.ts:496

Selects the preferred transport strategy.


optional webrtc: WebRTCOptions

Defined in: packages/core/src/types.ts:531

Configures WebRTC-specific behavior.


optional websocket: WebSocketOptions

Defined in: packages/core/src/types.ts:536

Configures WebSocket-specific behavior.