FanDesk

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

EventWhat Happens
New messageAppears instantly in the channel or DM
Message editedEdit appears for all viewers immediately
Message deletedRemoved from view for all viewers
Reaction addedReaction 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