Appearance
Real-Time Collaboration
SchemaStack keeps your data in sync across all connected users using server-sent events (SSE). Multiple users can view and edit the same workspace simultaneously — changes appear instantly for everyone.
How It Works
When you open a workspace, SchemaStack establishes a real-time connection to the server. Any changes made by other users appear in your view automatically. No manual refresh needed.
What syncs in real time
- Cell edits — when someone changes a value, you see it immediately
- Row additions and deletions — new and removed rows appear for all users
- Column changes — reordering, visibility, renaming, and schema changes
- Constraint updates — validation rule changes propagate instantly
- View updates — view name, description, and settings changes
Architecture
SchemaStack uses Server-Sent Events (SSE) for real-time updates:
User A edits a cell
│
▼
REST API saves the change
│
▼
Server broadcasts SSE event to workspace
│
├──→ User B receives update (applied automatically)
├──→ User C receives update (applied automatically)
└──→ User A's event is filtered out (no echo)Each user's own changes are applied optimistically (instant feedback) while the SSE broadcast updates everyone else. Events are filtered by user ID to prevent echoing your own changes back to you.
Connection States
The toolbar shows your connection status:
| State | What you see | What to do |
|---|---|---|
| Connected | Green workspace status bar | Nothing — everything works normally |
| Reconnecting | Yellow banner: "Reconnecting..." | Wait, it will reconnect automatically with exponential backoff |
| Disconnected | Red banner with "Reconnect" link | Click Reconnect, or check your network |
Automatic Reconnection
If the SSE connection drops, SchemaStack reconnects automatically with exponential backoff and jitter. This prevents all users from reconnecting simultaneously if the server restarts.
Catch-up After a Reconnect
Every real-time update carries an id, and on reconnect your browser tells the server the last one it received. The server replays what you missed and the "you may have missed updates" banner comes down by itself — you are simply caught up.
The replay window is finite (the most recent updates per workspace and per view). If the gap is longer than the window — a laptop asleep overnight, or a server restart — the server says so honestly and the banner stays, offering a refresh. A partial replay presented as complete would be worse than the banner.
New Rows Indicator
When other users add rows while you're working, a pill appears at the top of the table showing how many new rows are available. Click it to load them into your view. This prevents unexpected jumps in the data while you're focused on a specific area.
Offline Behavior
If your network connection drops entirely, an offline banner appears across the top of the app. You can continue viewing data, but:
- Edits won't be saved until you're back online
- You won't receive updates from other users
- The banner disappears automatically when your connection is restored