Nurama Developers
Events

Receive collab:playback-sync

Play/pause/seek state broadcast by the presenter to the other members.

server → client on the collab channel. Socket.IO event name: collab:playback-sync.

Play/pause/seek state broadcast by the presenter to the other members.

Only the current presenter socket may broadcast; other senders receive collab:playback-sync:rejected instead and nothing is relayed. Client -> server -> all other sockets in the same /chat/{chatId} namespace. The server spreads the client payload and appends the authenticated user identity (userId, displayName, color, avatarUrl), the annotationColor assigned on collab:join and a timestamp; client supplied values for those keys are overwritten. The server also stores currentTime/playing as the namespace playback state.

Payload: collab:playback-sync

Payload of the 'collab:playback-sync' socket event.

PropertyTypeRequiredDescription
actionstringnoClient supplied action (e.g. 'play', 'pause', 'seek').
currentTimenumberno
playingbooleanno
durationnumberno
playbackRatenumberno
userIdstringnoAuthenticated user ID (server supplied, cannot be spoofed).
displayNamestring | nullnoDisplay name (falls back to first + last name).
colorstring | nullnoThe user's profile colour.
avatarUrlstring | nullnokeyPath of the user's avatar thumbnail file, if any.
annotationColorstringnoAnnotation colour assigned to this user for the collab session.
timestampintegernoServer time in milliseconds since epoch when the event was relayed.

On this page