-
Notifications
You must be signed in to change notification settings - Fork 4
Description
Feature Overview
Introduce real-time collaboration sessions allowing multiple users to join a shared editor workspace.
Currently, the collaboration panel provides a visual session state but does not establish an actual shared session between users.
This feature would implement live synchronization of editor state across connected clients.
Problem / Motivation
The existing collaboration UI simulates session creation using local React state:
• Sessions are browser-local
• No shared state between users
• No live code synchronization
As a result:
• Other users cannot join sessions
• Code changes are not propagated
• Collaboration is purely visual
Implementing real-time sessions would significantly improve usability and align with expected collaborative editor behavior.
Proposed Behavior
When starting a session:
• Generate a persistent session ID
• Establish a real shared session
• Allow other users to join via link
During a session:
• Sync editor content live
• Broadcast code updates
• Track active participants
Proposed Technical Direction
Possible implementation strategies:
• WebSocket-based synchronization
• Session management layer
• Shared editor state broadcasting
Example approaches:
• Socket.IO / WebSocket server
• Django Channels / ASGI
• Redis / in-memory session store
Expected Benefits
• True multi-user collaboration
• Live code editing experience
• Improved feature consistency
• Better UX alignment
Scope
Feature enhancement (non-breaking)
Does not modify existing editor behavior outside collaborative sessions.
Additional Notes
This issue proposes the architectural foundation for live collaboration rather than UI adjustments alone.