Skip to content

[Feature request] read-only spectator/view link for live device screen #312

Description

@hassineabd

Problem

Today, viewing a device's live screen in the hub UI is tied to actually controlling it (tap/swipe/type). There's no way to let a second person just watch what's happening on a device — e.g. to show a bug to a teammate, pair on a manual test, or let a reviewer
follow along — without giving them control or requiring them to reserve/release the device themselves.

Proposed feature

A "spectator" / read-only mode for a live device session:

  • The person driving the device (who holds the reservation) can generate a shareable link (or the hub exposes a "view" URL per device) that opens the same live screen stream in read-only mode — no tap/swipe/type controls, no reservation required.
  • Multiple spectators can open the link concurrently.
  • Spectator view should reuse the existing MJPEG/WebRTC stream rather than opening a second stream from the provider, to avoid extra load on the device/provider.
  • Optional: expire the link when the underlying reservation ends, or make it explicitly revocable.

Implementation questions to discuss

  • New endpoint/websocket that fans out the existing stream, or a UI-only permission flag on the existing session route (same URL, minus the control panel)?
  • Auth: does a spectator need a GADS account (view-only role), or is a token-based link acceptable for a self-hosted internal tool?
  • Where does this fit relative to the workspace/permission model — role per workspace vs. a one-off share token?

I'd like to implement this — happy to open a PR once we agree on the approach above
(endpoint shape + auth model). Let me know which direction you'd prefer.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions