Live Presence
Your members see who else has the app open, on every screen that shows a member.
This is a background feature. It adds a dot to screens that already exist rather than creating one.
Before you start
Section titled “Before you start”| Plugin | None beyond Memberside |
| Service | Realtime, connected and authorised |
| Plan | Any Realtime plan |
Realtime is required, not optional. Who is online comes only from the Realtime connection. Without it there are no dots at all: the app shows nothing rather than guess.
Add it to your app
Section titled “Add it to your app”- Open the Background tab.
- Drag Live Presence onto it.
- Rebuild your app.
Only one is allowed. There are no settings: placing it is the switch.
What your members see
Section titled “What your members see”A green dot on a member’s avatar while that member has the app open. It appears within a second of them opening the app, and clears about 40 seconds after they leave it: the app lets go of its connection after 30 seconds in the background, and the dot waits 10 more in case they come straight back.
The dot shows wherever another member’s avatar does: the member directory, profiles, chat and its conversation list, the news feed and comments, groups and their members, followers, following and friends, search, notifications, forums, reviews, rankings, photos, and the BuddyPress screens. It is never shown on a member’s own avatar.
Live online dots on member avatars
record → src/assets/media/live-presence.mp4
“Online” means the app is open. A member reading your website in a browser, or signed in with the app closed, shows as offline.
Privacy
Section titled “Privacy”- Members can hide their own status. The app’s Settings → Privacy shows Hide my online status. A member who turns it on appears offline to everyone, straight away, on every device. It is the same setting as Ultimate Member - Online’s Show my online status?, so the choice holds on your website too.
- Blocked members never see each other online, in either direction.
- Nothing about who is online reaches your site’s server, and no member content passes through Realtime to work this out. The connection already knows who is connected.
It replaces Online Users
Section titled “It replaces Online Users”With Live Presence placed, it decides the dot on every avatar. The Online Users feature’s choices, and each list’s Show online status switch, are not used. Remove Live Presence to go back to them.
What it costs
Section titled “What it costs”Nothing on your server. Your site answers no extra requests.
One Realtime connection per member with the app open, the same connection chat and the notification bell already use. An app with none of those placed opens a connection for Live Presence alone, so expect your peak connections to rise to the number of members who have the app open at once.
Turning it off for the whole site
Section titled “Turning it off for the whole site”Under Memberside → Services → Realtime, switch off Online status. The dots disappear the next time each member’s app reconnects.
When it does not work
Section titled “When it does not work”| Symptom | Cause | Fix |
|---|---|---|
| No dots anywhere | Realtime is not connected, or the Realtime endpoint group is off | Connect Realtime and enable the group under Memberside → REST API |
| No dots anywhere, Realtime connected | Online status is off under Memberside → Services → Realtime | Switch it on |
| No dots in an older app | The app was built before Live Presence was placed | Rebuild and redistribute |
| A member never shows online | They hid their status, or one of you blocked the other | Expected |
| Some members show online, others never do | More members are online than your plan connects, so the rest have no connection | Move to a plan with more connections under Realtime in the builder |
| No dots on a very large site | The site runs more than one Realtime shard, where presence is not available | Contact support |
| A dot stays on for a while after someone leaves | The app keeps its connection 30 seconds in the background, plus a 10-second grace | Expected |