Presence and Heartbeat Mechanism
Overview
The Mobile App includes visitor presence tracking so admins can quickly understand whether a visitor is still active in the current chat session. This helps the team decide when to take over, when to keep replying, and when a conversation may no longer be active.
The presence system also uses a demand-driven heartbeat mechanism so extra polling only happens when it is useful.
What Presence Tracking Shows
Inside the Mobile App, each conversation can include:
- Online status
- Last seen time
- Presence state
- Context note when the visitor is no longer active in the current chat flow
Presence States
Online
The visitor is currently active in the chat session.
Offline
The visitor is no longer active in the session. The app may show a Last seen timestamp.
Chat Cleared
The visitor cleared the chat session. In that case, the previous conversation remains visible for admins, but the visitor-side session has effectively reset.
Switching Pages
If the visitor leaves the page flow in a way that breaks continuity, the app can show an offline note explaining that future live replies may not appear in the same thread.
Why This Matters for Live Support
Presence information helps admins avoid a common live chat problem: replying in a thread that the visitor has already abandoned.
When the app shows the visitor as offline, the team can still review the transcript, but should understand that the visitor may no longer receive the reply in the same chat context.
Heartbeat Mechanism
Demand-Driven Polling
The Mobile App and the frontend chat takeover system do not keep heavy polling active all the time.
Instead, the system increases activity when one of these conditions is true:
- A conversation is under live takeover
- An admin is actively watching the conversation
What the Heartbeat Does
The heartbeat helps keep these states synchronized:
- New messages
- Takeover status
- Visitor presence
- Admin watch state
Performance Benefit
This approach reduces unnecessary background requests while still keeping live takeover interactions responsive.
What the Mobile App Shows
Conversation List
The conversation list shows a presence indicator for each visitor.
Conversation Header
When a conversation is open, the header can show:
- Online now
- Last seen X minutes ago
- Chat cleared
Presence Alert
If the visitor is offline or the chat continuity is broken, the app can display a warning note so the admin understands the conversation is no longer live in the same way.