Slash Socket ships with a small set of built-in events covering presence, chat, typing indicators, and live cursor sharing — useful as-is for prototyping, or as a reference for wiring up your own.
PropTypeDescription
authenticateemit → { username, avatar }Attaches a display username and avatar to this connection and marks it authenticated; everyone gets a fresh users_update. Names are cut to 40 characters, and the avatar must be an http(s) URL of up to 512 characters. The dashboard draws GitHub avatars (avatars.githubusercontent.com) in Clients and on the Overview network. This is identity for display purposes only, not a credential check: a client can claim any handle.set_usernameemit → { username }Updates the connection's display username (cut to 40 characters). Server replies with username_updated.typing_start / typing_endemit (no payload)Marks this connection as typing or not. Server broadcasts typing_users_update with the current list of typing users to everyone.chat_messageemit → { text, ... } / listenSends a chat message. The server stores it, attaches metadata, and rebroadcasts chat_message to all clients, including the sender. New connections also receive recent message history.cursor_moveemit → { x, y, vw, vh }Reports this connection's cursor position in pixels, plus the width and height it's measured against so receivers can scale it. Server broadcasts cursor_update { id, color, username, x, y, vw, vh } to everyone else. By convention, x: -1 means the cursor left.cursor_messageemit → { text }Cursor chat: the line this connection is typing next to its cursor, sent whole on every keystroke. An empty text closes the bubble. Lines are capped at 120 characters. The server broadcasts cursor_message { id, color, username, text } to everyone else and shows the line in the dashboard's Clients tab.cursor_highlightemit → { ... }Broadcasts a highlight/selection tied to this connection's cursor. Server broadcasts cursor_highlight.pingemit (no payload)Server replies pong. Useful for a manual liveness check outside Socket.IO's own heartbeat.users_updatelisten → User[]Broadcast whenever a client connects or disconnects, with the current list of connected users.countlisten → numberBroadcast alongside users_update with the current connection count.You aren't limited to these — since the server is a standard Socket.IO instance, you can treat the built-in events as optional presence/chat primitives and layer your own custom events on the same connection.