Skip to main content

Real-time collaboration

RBS includes a complete set of collaboration features built into every branch server. Edit files together in real-time, join video calls, share your screen, and chat with your team — all without leaving your code editor or installing third-party tools.

Collaborative editing

Google Docs–style real-time code editing. Multiple developers edit the same file simultaneously with multi-cursor support.

Video meetings

Peer-to-peer video calls with camera and screen sharing. Data stays on your network — no third-party servers.

Team chat

Real-time chat rooms with code snippet sharing, file references, typing indicators, and full message history.

Presence tracking

See who’s online, what file they’re viewing, who’s in a meeting, and who’s in a chat session — across all features.

Collaborative editing

Multiple developers can edit the same file simultaneously. Changes appear in real-time, with each user getting a distinct cursor color. Conflicts are resolved automatically using Operational Transformation (OT) — the same technique used by Google Docs.

How it works

  1. Open a file in your editor while connected to a branch server.
  2. A teammate opens the same file on the same branch.
  3. Both of you edit freely — changes sync instantly. No manual merging.
  4. Cursors and selections from other users are visible in your editor with distinct colors.

Features

FeatureDescription
Multi-cursorSee every collaborator’s cursor position and color in real-time.
SelectionsSee highlighted selections from other users.
Editing regionsVisual indicators show which lines each user is actively editing.
Conflict awarenessThe system warns when two users edit overlapping regions.
Auto-saveChanges are saved to the server automatically.
Split-view supportMultiple panes editing the same file are supported — each pane is an independent participant.

Conflict handling

RBS uses a server-authoritative model:
  • The server maintains the canonical version of each file.
  • All edits are transformed server-side to maintain consistency.
  • Cursor and selection positions are updated automatically when remote edits shift content.
  • In the rare case of overlapping edits, you’ll see a visual conflict warning — but the document remains consistent.
Collaborative editing works automatically when multiple developers are connected to the same branch server. No configuration required.

Video meetings

Start a peer-to-peer video call directly from your editor. No Zoom, no Google Meet, no external tools. Video and audio are transmitted directly between participants — the RBS server only handles the initial connection setup (signaling).

Starting a meeting

From the editor:
  1. Open the Tools menu in the top navigation bar.
  2. Click Meeting to open the meeting panel.
  3. Create a new meeting and give it a name (e.g., “Sprint Planning” or “Debug Session”).
  4. Teammates on the same branch can join from their editor.

Features

FeatureDescription
Camera videoShare your webcam feed with participants.
Screen sharingShare your entire screen or a specific window.
Dual streamShare camera and screen simultaneously.
Peer-to-peerVideo goes directly between participants — low latency, no third-party servers.
EncryptedAll media streams are encrypted by default (DTLS-SRTP).
In-editorMeetings run inside your code editor — no browser tabs or separate apps.

Controls

ActionDescription
Toggle cameraTurn your camera on/off.
Toggle microphoneMute/unmute yourself.
Share screenStart or stop screen sharing.
Leave meetingLeave the meeting (others continue).
End meetingEnd the meeting for all participants.

Team chat

Real-time chat rooms built into the editor. Discuss code, share snippets, reference files, and keep a searchable history — all without context-switching to Slack or Teams.

Chat rooms

Chat rooms are tied to the branch server. Every developer connected to a branch can join the default chat room or create topic-specific rooms. Create a chat room from the Tools → Chat panel, or via the REST API:
# Create a chat room via the RBS Server API
curl -X POST http://localhost:8080/api/chat \
  -H "Content-Type: application/json" \
  -d '{"name": "API Design", "user_name": "Alice"}'

Features

FeatureDescription
Real-time messagingMessages appear instantly for all participants.
Code snippetsShare syntax-highlighted code blocks with language detection.
File referencesLink to specific files in the workspace (clickable in the editor).
Typing indicatorsSee when teammates are typing.
Message historyFull message history persisted on the server with pagination.

Sharing code in chat

In the chat panel, you can:
  • Send code snippets — use the code button to share syntax-highlighted code blocks with language selection.
  • Share files — share a file reference that teammates can click to open in their editor.

Presence tracking

Presence tracking gives your team unified awareness across all collaboration features. See who’s online, what they’re working on, and how to reach them.

What you can see

InformationDescription
Online statusWho is currently connected to the branch server.
Active fileWhich file each teammate is currently viewing.
Editing sessionsWhich files are being collaboratively edited and by whom.
Meeting statusWho is in a video meeting and which meeting.
Chat activityWho is in which chat room.
Screen sharingWho is currently sharing their screen.

Presence in the editor

Presence information is displayed throughout your editor:
  • File explorer: Colored dots next to files show which teammates are viewing or editing them.
  • Editor tabs: Small avatars indicate when a file is being collaboratively edited.
  • Status bar: Shows the number of connected teammates and current activity.
  • Gutter: In collaborative editing sessions, colored markers show which lines each user is editing.

Status updates

Your status is automatically managed:
StatusWhen
OnlineActively using the editor.
IdleEditor is open but no activity for 5 minutes.
AwayEditor is minimized or not focused for 15 minutes.
In meetingCurrently in a video meeting.

Privacy and security

All collaboration features are designed with security in mind:
  • Video/audio: Peer-to-peer encrypted (DTLS-SRTP). Media never passes through RBS servers — only signaling data does.
  • Chat messages: Stored on your branch server, not on external infrastructure.
  • Collaborative edits: Processed on your branch server. No data leaves your workspace.
  • Presence data: Only shared with teammates who have access to the same branch.

Building custom integrations

A public API and SDK for building custom integrations with the collaboration system are coming soon. If you’re interested in early access, reach out to support@reasonos.dev.
The RBS Server exposes WebSocket and REST endpoints for all collaboration features. These are used internally by the built-in code editor:

Endpoints

FeatureProtocolEndpoint
PresenceWebSocket/ws/presence
Collaborative editingWebSocket/ws/collab/{session_id}
Meeting signalingWebSocket/ws/meeting/{meeting_id}
ChatWebSocket/ws/chat/{room_id}
List connectionsRESTGET /api/collab/connections
Create collab sessionRESTPOST /api/collab/sessions
List collab sessionsRESTGET /api/collab/sessions
Create meetingRESTPOST /api/meetings
List meetingsRESTGET /api/meetings
Create chat roomRESTPOST /api/chat
List chat roomsRESTGET /api/chat

Getting started

Collaboration features work automatically when multiple developers are connected to the same branch server. No configuration needed.
  1. Open the code editor in your browser — connect to your branch server.
  2. Have a teammate connect to the same branch.
  3. Open the same file to start collaborative editing.
  4. Open a meeting from the Tools menu for video calls.
  5. Open the chat panel from the Tools menu to message your team.

Learn about the code editor

See all the features of the built-in code editor, including how to access collaboration tools.