Skip to main content

Channel Status

Channel Status is Lumio's always-on awareness of whether you are live right now. It drives the live-indicators on your dashboard, gates which background workers are running (most notably the Spotify integration), and keeps API usage down when you're offline.

This guide explains how the live detection works, what the dashboard shows you, and the one case where you might need to intervene manually (Spotify).

Where to find it

The primary surface is the channel card grid on the main Dashboard page. Every connected Twitch, YouTube, Kick, or Trovo channel gets its own card with avatar, channel name, platform name, and a link out to the channel.

Live status is detected for Twitch and YouTube. When one of those is live, its card additionally shows a Live badge, a pulsing red dot on the avatar, the viewer count, the stream title, and the category. Kick and Trovo cards are always shown, but they do not carry a live indicator — chat, events, and moderation for those platforms work regardless.

Quick start

Nothing to set up. Once you've connected a platform via Dashboard > Connections, Lumio tracks its live status automatically:

  1. Go live on the platform as usual.
  2. Within seconds (Twitch) or up to about a minute (YouTube), the dashboard card flips to Live and starts showing the viewer count.
  3. When you end the stream, the card flips back to offline.

The only manual control is the Spotify Connect button on Dashboard > Music (see below), which is only relevant if you want Spotify active before you actually go live.

How live detection works

Lumio uses the most efficient signal available on each platform:

PlatformDetection methodTypical latency
TwitchEventSub webhook (stream.online / stream.offline)Seconds
YouTubePollingUp to ~60 seconds
KickNot tracked
TrovoNot tracked

Twitch is nearly instant because it pushes events to Lumio the moment you go live. YouTube offers no comparable push mechanism for this, so Lumio polls on a background cadence — roughly once a minute. Going offline is detected the same way.

What changes the indicator

The dashboard card switches to Live when the backend receives:

  • A Twitch EventSub stream.online event, or
  • A YouTube polling response showing a broadcast as live.

It switches back to offline when the platform stops reporting the stream as live (EventSub stream.offline for Twitch, or the poller sees the broadcast ended or disappear).

What the UI polls

The dashboard itself polls the Lumio API on a 30-second cadence for the latest cached status. It also listens for WebSocket events (channel:online, channel:offline, channel:status_update) so changes appear faster than the 30-second tick when the WebSocket is connected. When the browser tab becomes visible again (e.g. you alt-tab back), it fetches immediately — so switching windows and coming back always gives you a fresh read.

What you see while live

Per-platform, the live card shows:

  • Channel avatar with a pulsing red dot indicator.
  • Channel name and platform name, plus an external-link icon that opens the channel (for a live YouTube broadcast, the link points at the broadcast itself).
  • Live badge in red.
  • Viewer count, written out in full (for example 12,345).
  • Likes and total views for YouTube, when the broadcast reports them.
  • Stream title (truncated if long).
  • Category / game (if the platform provides it).

Not every platform reports every field — the category may be blank if you haven't set one, and the viewer count is omitted when the platform doesn't report it. The card hides fields that aren't present.

In the Multichat, the viewer count next to each platform tab is shortened instead (1.2k, 15.3k, 1.4M), and its display — along with likes and total views — is controlled by the toggles in the chat settings panel.

Upcoming YouTube broadcasts

YouTube channels also display upcoming (scheduled) broadcasts below the main channel card, and the avatar carries a yellow dot while an upcoming broadcast is pending and nothing is live. Each upcoming broadcast shows a yellow Upcoming badge, the broadcast title, the scheduled start date/time, and a link to the broadcast. When the broadcast goes live, it moves up into the main live card. Upcoming broadcasts that are deleted from YouTube are cleaned up automatically.

Why it matters: resource-aware workers

Channel status isn't just cosmetic — the Spotify worker keys off it. It only runs while a channel is live (or while manual connect is active). This saves API calls against Spotify and avoids writing track-change events to the database when nobody is watching.

This is why you may notice Spotify "Now Playing" not updating the moment you open the dashboard — it waits until you're live. The Connect button below is the escape hatch.

Spotify: manual connect

If you need Spotify running before you actually go live — for pre-stream testing, a countdown scene that shows the upcoming song, or overlay development — use the Connect button.

  1. Open Dashboard > Music (or the Popout > Music page).
  2. Click Connect. The Spotify worker starts immediately.
  3. The button is replaced by a status row showing the remaining time as a countdown, next to a Disconnect button.
  4. The worker runs for up to 30 minutes.
  5. If you go live during that window, the worker stays up automatically beyond the 30 minutes, following your real live status.
  6. If you don't go live, the worker stops when the countdown hits zero.

You can also Disconnect manually to stop it early. While a channel is live, the whole control is hidden — the worker is managed for you and there is nothing to switch on.

Manual connect state is synced across browser tabs and popout windows — start it in one tab and the control in another updates immediately without a reload.

Permissions

Live status and Spotify's manual connect are both governed by the Spotify permissions on your role.

CapabilityPermission
View channel status (dashboard cards, Multichat viewer counts)spotify:read
See Spotify manual connect statusspotify:read
Start / stop Spotify manual connectspotify:worker (backend returns 403 otherwise)

If a 403 is returned for the Spotify worker toggle, the UI surfaces a toast — you likely don't have spotify:worker on your role. Ask an admin to grant it, or use a role that includes it. The Connect and Disconnect buttons are hidden outright for roles without spotify:worker.

YouTube broadcast selector in Multichat

When YouTube broadcasts are active (live or upcoming with pre-stream chat), a broadcast dropdown appears next to the YouTube platform tab in the Multichat. A small chevron opens the list:

  • All Broadcasts shows messages from every active broadcast (useful for reviewing history across streams).
  • Each broadcast entry shows a status badge (Live in red, Upcoming in yellow) along with the broadcast title and scheduled start time (for upcoming).
  • The dropdown auto-selects the live broadcast when one starts.
  • The selection is remembered across page reloads.

When sending a message with YouTube selected, it goes to the currently selected broadcast. If replying to a message, the reply always targets the original message's broadcast regardless of the dropdown selection.

Tips & best practices

  • Don't poll the dashboard yourself. The built-in 30-second polling + WebSocket push is enough. Reloading the page doesn't make detection faster.
  • Trust EventSub for Twitch. If Twitch says you're offline but you just went live, give it ~10 seconds. If it still doesn't flip, check Dashboard > Connections for token issues.
  • Use manual Spotify connect sparingly. It's fine for testing, but leaving it on burns API quota against Spotify. It auto-stops after 30 minutes on purpose.
  • Bookmark the Music popout. If you use Spotify manual connect routinely (e.g. to warm it up before every stream), the popout URL is shorter to hit than clicking through the dashboard.
  • Keep tokens healthy. Status detection depends on valid platform OAuth tokens. A failed token refresh = stale status. Token refresh runs automatically, but a "connection needs attention" notification in the bell is a sign to reconnect.

Troubleshooting

I'm live but the dashboard still says offline.

  • Twitch: wait 10-15 seconds. If still offline, check Dashboard > Connections — your Twitch connection may have lost permissions.
  • YouTube: wait up to 60 seconds for the next poll. Refresh the page or alt-tab away and back to force an immediate refetch.

My Kick or Trovo card never shows a Live badge.

  • Expected. Live status is only tracked for Twitch and YouTube.

I ended my stream but the dashboard still says live.

  • Same as above — Twitch should clear in seconds; YouTube takes up to a minute.
  • If it persists for more than a couple of minutes, refresh the browser tab.

Viewer count shows 0 (or is missing).

  • Some platforms report 0 on stream start before viewers arrive.
  • When the count isn't reported at all, the UI simply hides the field.

Spotify shows nothing even though I'm live.

  • Check that Spotify is connected in Dashboard > Connections.
  • If you're live but there's no currently-playing track on your Spotify account, there's nothing to show.
  • If you recently reconnected Spotify, wait 30 seconds for the worker to pick up the new token.

Manual connect countdown is showing "0:00".

  • Expired. Click Connect again to start a new 30-minute window.

"Connect" button returns a permission error.

  • Your role lacks spotify:worker. Ask an admin (or whoever manages roles on the account) to grant it.
  • Connections — connecting Twitch/YouTube/Kick/Trovo/Spotify and handling token refresh errors.
  • Music — full Spotify feature overview including the Now Playing widget and overlay integration.
  • Events — the stream-time events that get logged while you're live.
  • Notifications — where connection/token issues surface if detection stops working.