CrewTalk
Available3 min read

Presence Indicators

CrewTalk shows real-time presence information for every member in your hub. This helps you know who's available, who's busy, and when someone was last active.

Status Types

StatusIndicatorMeaning
TransmittingPulsing / channel shownCurrently speaking on PTT
OnlineGreen dotConnected and available
AwayYellow dotApp is backgrounded
In WhisperPhone iconOn a private voice call
In Live-SightVideo iconOn a video call
OfflineGray dotNot connected

How Presence Works

CrewTalk uses Firebase Realtime Database for presence management:

  1. App opens — Status set to "Online"
  2. App backgrounds — Status changes to "Away"
  3. App foregrounds — Status returns to "Online"
  4. PTT pressed — Status shows "Transmitting" with channel number
  5. Call starts — Status shows "In Whisper" or "In Live-Sight"
  6. App closes / disconnects — Firebase onDisconnect handler sets status to "Offline" with a timestamp

The onDisconnect handler is crucial — it runs on the server side, so even if your app crashes or loses connection suddenly, your status will correctly update to Offline.

Last Seen

For offline members, the roster shows a last seen time:

Time SinceDisplay
< 60 minutes"5m ago", "30m ago"
1-23 hours"2h ago", "12h ago"
1-6 days"Yesterday", "3d ago"
7+ days"Last week", date

This helps you gauge whether a crew member recently disconnected (might be back soon) or hasn't been active in a while.

Roster Grouping

The Members Drawer groups members by status in this order:

  1. Transmitting — Most prominent, shows who's currently on air
  2. Online — Available team members
  3. Away — Backgrounded but still connected
  4. In Call — On Whisper or Live-Sight
  5. Offline — Not connected, with last seen times

This ordering puts the most actionable information at the top — you can immediately see who's talking and who's available.

💡 Quick Status Check

Glance at the Members Drawer before important announcements to verify key team members are online. If someone critical is offline or away, you might want to wait or contact them directly.

Presence and Calls

When you're on a Whisper or Live-Sight call:

  • Your status shows the call type
  • The roster shows who you're in a call with
  • This prevents other members from trying to call you
  • Quick-action call icons are hidden for members already in a call

Frequently Asked Questions

Presence changes are near-instantaneous (under 1 second) via Firebase Realtime Database. When you open the app, your status changes to Online within a second.
Your status changes to Away when the app moves to the background (you switch to another app or lock your screen). It returns to Online when you bring CrewTalk back to the foreground.
Last seen timestamps are set when a member goes offline (app closes or loses connection). They're accurate to within a few seconds of the actual disconnect.