Overview
Thejarvis-social crate provides social and collaboration features:
- Presence tracking (who’s online)
- Real-time chat
- Channels and direct messages
- Game invites and pokes
- Experimental: Voice chat, screen sharing, pair programming
Public API
Identity
Represents the local user.PresenceClient
Manages presence tracking via Supabase Realtime.PresenceEvent
Events emitted by the presence system.UserJoined { user: OnlineUser }— A user came onlineUserLeft { user_id: String }— A user went offlineUserUpdated { user: OnlineUser }— A user’s status/activity changedSnapshot { users: Vec<OnlineUser> }— Full list of online users
Protocol Types
UserStatus
User presence status.Online— AvailableIdle— Away from keyboardInGame— Playing a gameInSkill— Using an AI skillDoNotDisturb— Do not disturbAway— Away
OnlineUser
Information about an online user.Chat
ChatHistory
Manages chat message history.Channels
ChannelManager
Manages multiple chat channels.Represents a chat channel.
Broadcast Payloads
These payloads are sent via Supabase Realtime broadcasts.ActivityUpdatePayload
GameInvitePayload
PokePayload
ChatMessagePayload
Experimental Features
These features require theexperimental-collab feature flag.
Voice Chat
Screen Sharing
Pair Programming
Driver— Has control of the terminalNavigator— Can view and suggest
Usage Example
Related
- Presence Configuration — Supabase settings
- Livechat Configuration — Chat server settings