Session issues
This page covers things that go wrong inside a control session - locking the device, video not appearing, the connection feeling slow, or the session ending unexpectedly. For problems with the device itself (won't come back online, video keeps dying), see Device issues.
"Could not lock device"#
You clicked Control → on an available tile and got an error snackbar.
What it means. Someone grabbed the device a split second before you. The lock is exclusive - one session per device at a time. That someone is usually a teammate, but it can also be a HelioFleet operator running a diagnostic session on the hardware.
What to do. Pick another available device. The one you wanted will show up as In session.
If you're seeing this repeatedly on devices that nobody seems to be using, the previous session may not have released cleanly - wait a few seconds and try again.
Video doesn't appear / black screen#
You're in the control screen, the device frame is rendered, but the video stays black for more than a few seconds.
Common causes, in order of likelihood:
- The session is still establishing. Video can take 2–3 seconds to start. Give it a moment.
- WebRTC never connected. The P2P / TURN transport chip in the top bar tells you whether video transport came up. If neither chip appears after 5 seconds, the WebRTC handshake failed - end the session and reopen it.
- The device's video pipeline dropped. If reopening the session doesn't bring video back, the device needs attention on our side. See Device issues and contact support with the UDID.
Transport stuck on TURN#
You see a TURN chip in the top bar instead of P2P.
What it means. Your browser and the device's host couldn't establish a direct peer-to-peer WebRTC connection - usually because your side is behind a strict NAT or a corporate firewall. Traffic is being relayed through our STUN/TURN server, which works but adds latency.
What to do. It's not a bug; relayed sessions are by design. If latency is acceptable, leave it. If you control the network on your end, opening UDP egress or relaxing NAT rules can help - but for most users the relay path is fine.
Control feels laggy#
A few things to check, in order:
- Look at the transport chips.
TURNfor video orWSfor control adds latency compared withP2PandDirect. If you're on both, you're on the slowest path. Often a session restart picks P2P the second time. - Your network's upstream. WebRTC adapts to bandwidth, but heavy congestion on your side will show up as choppy video and delayed input. Try a wired connection if you're on Wi-Fi.
- Persistent lag on one specific device across networks and users is worth reporting - that's ours to fix.
"Still there?" dialog appears#
A modal pops up with a countdown asking you to confirm you're still in the session.
What it means. The session has been idle for a while - no taps, swipes, or keypresses. The hub will disconnect you when the countdown hits zero, so the device frees up for someone else.
What to do. Click Stay connected to keep the session and reset the timer. Or do nothing and you'll be cleanly disconnected.
If the dialog appears even while you're actively interacting, your inputs may not be reaching the hub - check your network and look at the control transport chip in the top bar.
Session ended unexpectedly#
You were mid-session and got bounced back to the Devices page with a snackbar saying the session ended.
Possible causes:
- You hit the AFK timeout. See above.
- The device dropped. Check the Devices page - if the tile shows Offline, the device lost its connection. We restore leased devices automatically; give it a minute and refresh.
- Network blip on your side. Your browser lost its connection and didn't recover. Re-open the device.
- Your subscription lapsed. If a payment failed, devices are suspended and sessions end. They stay assigned to you for 24 hours (see When a lease ends), so fixing the payment inside that window brings the same devices back. Check Admin → Subscription.
Keyboard input doesn't reach the device#
You're typing but nothing appears on the device.
- The device's focused field isn't a text input. Tap into a text field on the device first; keyboard input only goes to whatever field has focus on the phone.
- You're using a modifier combo. Cmd/Ctrl/Alt combinations aren't forwarded - they're reserved for browser shortcuts. Plain keys and Enter/Backspace are forwarded.
- The session is in dual-device mode and the wrong tile is focused. Click the tile you want to type into, then type.
For longer strings, use the Type box in the left rail instead of your keyboard - it batches the whole string into one event.
Still stuck?#
Contact support with the device UDID, the rough time of the failure, and what you were doing. We have the device-side logs on our end - you don't need to collect anything.
