Skip to content

feat: realtime collaboration demo#17

Open
Geliogabalus wants to merge 9 commits intoclientIO:mainfrom
Geliogabalus:real-time-collaboration-demo
Open

feat: realtime collaboration demo#17
Geliogabalus wants to merge 9 commits intoclientIO:mainfrom
Geliogabalus:real-time-collaboration-demo

Conversation

@Geliogabalus
Copy link
Copy Markdown
Contributor

Summary

  • Adds a new realtime-collaboration/ts/ demo built with Vite + TypeScript, JointJS Core, Yjs (CRDT), and y-webrtc (WebRTC P2P)
  • Real-time synced diagram editing, cursor broadcasting, and selection locking across peers
  • Collaborative user list with editable names, color-coded presence, and live editing indicators

Features

  • Diagram sync — create, move, edit, and delete shapes/links; changes propagate instantly via Yjs Y.Map
  • Cursor tracking — live cursor positions broadcast via awareness
  • Selection locking — prevents two users from selecting the same cell simultaneously
  • Cell editing lock — dashed highlight shown to remote peers when a cell is being edited
  • User list — shows all connected users with color bullets; name is editable inline; highlights when a peer is renaming themselves; blocks canvas interactions while name is being edited

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant