Skip to content

Solo vs Live Mode

A detailed explanation of ThinkERD's two synchronization modes.

Solo / Live Mode — status bar and canvas toolbar

Solo Mode

The default mode used when editing alone.

Features

  • Auto-save — Automatically saves changes to the server
  • Offline support — Caches data in the browser for offline work
  • Cross-tab sync — Auto-syncs across multiple tabs in the same browser
  • Server resource efficiency — Efficient synchronization without real-time connections

Tab Leader Election

When the same user opens the same diagram in multiple tabs, only one tab is elected as Leader to communicate with the server. Other tabs act as Followers, syncing indirectly through the Leader.

graph TB
    Server["🖥️ Server"]
    Leader["👑 Tab 1 (Leader)"]
    F1["📄 Tab 2 (Follower)"]
    F2["📄 Tab 3 (Follower)"]

    Leader <-->|REST API| Server
    Leader <-->|"Cross-tab sync"| F1
    Leader <-->|"Cross-tab sync"| F2

    style Leader fill:#fef3c7,stroke:#d97706
    style F1 fill:#f3f4f6,stroke:#9ca3af
    style F2 fill:#f3f4f6,stroke:#9ca3af

Live Mode

Automatically activated when 2 or more users are editing simultaneously.

Features

  • Conflict-free concurrent editing — Auto-merges even when multiple users edit simultaneously
  • WebSocket — Real-time bidirectional communication
  • Awareness — Shares other users' cursors, selections, and moving nodes in real time
  • Auto-merge — Even when the same attribute is modified concurrently, data is merged without loss

Transition Flow

Event Action
Another user joins Presence Monitor (SSE) detects → upgradeToCollab()
All users leave 60-second countdown → downgradeToSolo()

60-second grace period

To handle cases where a user leaves and returns quickly, there's a 60-second grace period before switching to Solo Mode.

Mode Comparison

Aspect Solo Mode Live Mode
Connection REST API WebSocket
Synchronization On save Real-time
Server cost Low Higher
Cross-tab sync In-browser auto Real-time + in-browser
Cursor sharing
Conflict resolution Last save wins Auto-merge
Usage ratio ~99% ~1%