Skip to main content

Presence Indicators & User Statuses

The WebSocket version shows real-time online presence indicators — colored dots next to user avatars throughout the messenger. Users see at a glance who's online, away, or busy. Each user can set their own availability status. Presence updates push instantly through WebSocket — no polling, no stale state.

WebSocket version

Presence indicators require the persistent WebSocket connection. The free version cannot show real-time presence.

What it adds#

  • Colored dot next to every user avatar showing their current status
  • Three states: Online (green), Away (yellow), Do Not Disturb (red)
  • Instant status updates across all connected clients via WebSocket
  • User-selectable availability — set your own status
  • Visible in conversations, user lists, mini widgets, member directories
  • No configuration needed — automatic with WebSocket

Status meanings#

StatusColorTrigger
Online🟢 GreenUser actively on the site, browsing or chatting
Away🟡 YellowUser inactive for ~5 minutes (configurable)
Do Not Disturb🔴 RedUser manually set themselves as unavailable
(no dot)User is offline / not connected

How it works#

When a user opens a page with the messenger, their WebSocket connection registers them as Online. As they interact, their status stays Online. After a few minutes of inactivity, the plugin marks them as Away. They can manually set Do Not Disturb to override.

ActionOutcome
User loads page with messengerOnline dot appears on their avatar everywhere
User stops moving / typing / clicking for 5 minutesStatus changes to Away
User resumes activityStatus returns to Online
User selects "Do Not Disturb" from settingsRed dot shown to others
User closes browser entirelyDot disappears after a short timeout

Status changes propagate to ALL connected users in real-time — no polling lag.

Where presence is shown#

  • Conversation headers (next to participant avatars)
  • Inbox conversation list (next to each thread's other participant)
  • Mini widgets — Friends, Users, Groups
  • Member directories (BuddyPress / BuddyBoss / PeepSo / Ultimate Member)
  • Mentions autocomplete dropdown
  • Recipient picker when starting a new conversation

When presence matters most#

Use caseWhy presence is useful
Customer supportSee if a rep is available before starting a chat
Coaching / consultingClients see when the coach is online
Dating communityFind users who are actively online for real-time conversation
MarketplaceBuyer sees if vendor is reachable now or later
Community manager dashboardSee team activity at a glance

Frequently asked questions#

Can users hide their presence entirely?#

Not in the default UI. To add a "Invisible" mode, hook the presence-status filter and don't broadcast the user's connection events. They'd appear offline to others while still using the chat.

How is "Away" determined?#

Based on browser activity — mouse movement, key presses, scrolling. After ~5 minutes of no activity, the plugin marks the user Away.

Does presence respect privacy / multiple sites?#

Presence is per-site. A user's presence on Site A doesn't leak to Site B. Same user logged into multiple browsers shows Online if any of those is active.

Does the mobile app show presence?#

Yes — the native mobile app participates in the same presence system. Active mobile-app users appear Online. When the app is backgrounded, they show Away.

Can administrators see invisible mode bypassed?#

No — presence is symmetric. If a user is shown as Online, they ARE online. Admin viewing doesn't reveal a different state.

See also#