Events
Receive collab:leave
A user left the collab session (explicit collab:leave from the client or socket disconnect).
server → client on the
collab channel. Socket.IO event name: collab:leave.A user left the collab session (explicit collab:leave from the client or socket disconnect).
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. On disconnect the server emits it on behalf of the leaving socket; if they were the presenter a collab:presenter-assign (reason transfer-on-leave) follows.
Payload: collab:leave
Payload of the 'collab:leave' socket event.
| Property | Type | Required | Description |
|---|---|---|---|
userId | string | no | Authenticated user ID (server supplied, cannot be spoofed). |
displayName | string | null | no | Display name (falls back to first + last name). |
color | string | null | no | The user's profile colour. |
avatarUrl | string | null | no | keyPath of the user's avatar thumbnail file, if any. |
annotationColor | string | no | Annotation colour assigned to this user for the collab session. |
timestamp | integer | no | Server time in milliseconds since epoch when the event was relayed. |