Real-time Updates
FanDesk delivers instant, live updates across Chat, presence, notifications, tasks, and more using Socket.IO — a WebSocket-based protocol that maintains a persistent connection between your browser and the FanDesk server.
How Real-Time Works
When you open FanDesk, your browser establishes a WebSocket connection to the server. This connection stays open and allows the server to push updates to you instantly — no polling, no page refreshes needed.
User A sends message
|
v
FanDesk Server receives message
|
v
Server broadcasts via Socket.IO to all connected clients in the channel
|
─────┴───────
| |
User B User C
sees instantly sees instantly
What Updates in Real Time
Chat
| Event | What Happens |
|---|---|
| New message | Appears instantly in the channel or DM |
| Message edited | Edit appears for all viewers immediately |
| Message deleted | Removed from view for all viewers |
| Reaction added | Reaction count updates live |
| Typing indicator | "User is typing..." appears within 1-2 seconds |
Typing Indicators
When you start typing in a chat input, FanDesk broadcasts a "typing" signal to all other members viewing the same channel. They see "[Name] is typing..." beneath the message list. The indicator disappears when you stop typing or send the message.
Presence and Status
Status changes are broadcast the moment they happen:
- When you go online, your green dot appears for all teammates
- When you go away (10 minutes idle), your dot turns yellow
- When you set DND, your dot turns red
- When you close FanDesk, your dot turns gray
This happens via Socket.IO events, not polling — so changes appear within 1-2 seconds.
Notifications
In-app notifications are delivered in real time:
- The bell icon badge count increments immediately when a new notification arrives
- The notification appears in the notification center without refreshing
- Browser tab title updates to show unread count
- Electron app dock badge updates on macOS/Windows
Tasks and Project Updates
Task changes broadcast to relevant viewers in real time:
- Status changes appear immediately on boards for everyone viewing the project
- New tasks added to a project appear for all project members
- Comments post instantly without page refresh
- Assignee changes reflect live
Connection Status
FanDesk manages the WebSocket connection automatically:
Auto-Reconnect
If your connection drops (network interruption, sleep mode, tab backgrounded aggressively), FanDesk automatically reconnects when connectivity returns. Reconnection uses exponential backoff — 1 second, 2 seconds, 4 seconds — to avoid overwhelming the server.
What Happens During Disconnection
If you lose connection briefly:
- You may miss real-time events during the gap
- On reconnect, FanDesk fetches any missed messages and notifications
- In most cases, no data is lost
Connection Indicator
If your connection is lost, a subtle banner appears at the top of the page: "Reconnecting..." — this disappears once the connection is restored.
Multi-Tab and Multi-Device Support
Multiple Browser Tabs
If you have FanDesk open in multiple tabs:
- All tabs maintain their own WebSocket connection
- Events received in one tab are reflected in all tabs simultaneously
- Actions taken in one tab (sending a message, marking notifications read) propagate to all tabs
Multiple Devices
Using FanDesk on your laptop and phone simultaneously:
- Both receive all real-time events
- Status is consistent (most recently set value wins)
- Messages marked read on one device appear read on the other
Performance
Socket.IO connections are designed to be lightweight:
- Idle connection uses minimal bandwidth
- Events are transmitted as compact JSON
- Redis Pub/Sub is used server-side to fan out events across multiple server instances efficiently
Next: Quick reference for Keyboard Shortcuts.
Need help? Contact us at hello@fandesk.ai