Real-Time Collaboration
Pusher WebSocket channels push task, comment, file, and whiteboard events to every teammate and tab in real time, with automatic reconnection.
Real-Time Collaboration uses Pusher WebSocket channels to push workspace events instantly to every connected teammate and browser tab, with no polling or manual refresh.
How it works
When a user opens TARO, the client subscribes to a set of private and presence channels scoped to their access: a personal user channel for assignments and notifications, project channels for each project they belong to, and whiteboard channels for open canvases. Pusher private channels require server-side authentication, so TARO only issues a subscription token after confirming the user has access to that resource. When an event occurs, TARO's backend publishes it to the relevant channel via the Pusher HTTP API, and all subscribed clients receive it within sub-second latency. Events are scoped per channel, so users never receive events from projects they cannot access.
Key capabilities
- Five live event types covering task assignments, status changes, comments, file uploads, and whiteboard edits, each carrying a structured payload (task ID, actor, new state, timestamp).
- Channels scoped per user, project, and whiteboard, respecting the same access control as the rest of the app.
- A single subscription updates all browser tabs in the same session simultaneously.
- Whiteboard edits sync stroke by stroke with per-participant cursor tracking, merged using an operational transform approach.
- Automatic, silent reconnection using exponential backoff (1s, 2s, 4s, 8s up to 30s).
- Catch-up replay on reconnect so events missed during a disconnection are applied with no data loss.
Tips
End-to-end latency from an action to all screens updating is typically under 200ms for same-region users and under 400ms for cross-region users.
This layer underpins other features, including the Kanban Board, Risk Alerts Dashboard, Time Tracking, and Analytics and Dashboards.